-2

我正在尝试使用我的应用程序在用户的 Facebook 墙上发帖。我还希望之后能够访问和显示此人的用户信息 - 但我遇到了困难。

到目前为止我的代码如下(当然敏感部分被屏蔽了):

<?php
include("src/facebook.php");

$facebook = new Facebook(array(
    'appId'  => ##############,
    'secret' => #####################################,
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    // The access token we have is not valid
    $user = null;
  }
}
if (!$user) {
    $args['scope'] = 'offline_access, read_stream, friends_likes, email, read_stream, publish_stream, user_birthday,user_hometown, user_photos, uid, username, first_name';
    $loginUrl = $facebook->getLoginUrl($args);
}
 if (!$user): ?>
    <a href="<?php echo $loginUrl ?>">Login with Facebook</a>
<?php endif ?>

我不知道出了什么问题——也许我错过了一些关键的东西?任何指导将不胜感激。

4

1 回答 1

1

1) 确保阅读权限文档。例如,offline_access已弃用,并且您要求的大多数权限都不存在!

2)要在用户墙上发帖,您需要获得publish_stream许可(您已经在请求)

3)按照我的教程,类似下面的东西会让你开始:

$args = array(
    'message'   => 'Hello from my App!',
    'link'      => 'http://www.masteringapi.com/',
    'caption'   => 'Visit MasteringAPI.com For Facebook API Tutorials!'
);
$post_id = $facebook->api("/me/feed", "post", $args);

4) 改进您的视图(在您的上述代码中混合 PHP 和 HTML 在编程上没有错误,但不推荐)。并且要回答您的最后一个请求,$user_profile它将保存您需要的信息,只需查看 Facebook示例即可开始。

5) 努力提高你的英语水平,欢迎来到 Stack Overflow!

于 2012-11-08T00:03:17.540 回答