在新闻Feed上发表评论

时间:2014-02-16 05:45:44

标签: php facebook facebook-php-sdk facebook-comments

嘿所有我使用以下代码发布到我的新闻Feed上的帖子:

<?php
require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'xxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'fileUpload' => true,
  'cookie' => true
));

$user = $facebook->getUser();

if ($user) {
  try {
    $access_token   = $facebook->getAccessToken();
    $user_profile   = $facebook->api('/me');
    $comment        = $facebook ->api('/xxxxxxxxxxxxxx/comments', 
                                 'POST', 
                                    array(
                                      'access_token' => $access_token,
                                      'message' => 'testing!'
                                    )
                                );
  } catch (FacebookApiException $e) {
    echo ($e);
    $user = null;
  }
}

<?php if ($user): ?>
    <a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php endif ?>

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $statusUrl = $facebook->getLoginStatusUrl();
    $params = array(
        'scope' => 'read_stream, friends_likes, email, read_mailbox, read_requests, user_online_presence, friends_online_presence, manage_notifications, publish_actions, publish_stream, user_likes, user_photos, user_status, user_videos, read_insights'
    );
  $loginUrl = $facebook->getLoginUrl($params);
}

?>

<?php print_r($user_profile); ?>

出于某种原因,我收到了这个错误:

OAuthException:(#221)照片不可见

我不知道,因为我发布文本评论,甚至不是图像?

如果我注释掉代码行 $ comment = $ facebook - &gt; api('/ xxxxxxxxxxxxxx / comments',                                      'POST',                                         阵列(                                           'access_token'=&gt; $的access_token,                                           'message'=&gt; “测试!”                                         )                                     ); 它工作得很好(如,用 user_profile 显示我的信息)。我试过通过页面阅读,告诉你如何使用评论here而我这样做 - 它似乎似乎不想工作?

我缺少什么?

更新

使用图形API我能够通过PHP做同样的事情,所以我知道它的工作原理......:

enter image description here

1 个答案:

答案 0 :(得分:0)

我知道这是一个古老的问题,但......

首先,对于相同环境的测试,您必须使用自己的应用令牌,而不是 Graph API Explorer 。否则,您需要使用所有权限来测试API。

enter image description here

其次,您的问题必须是权限(这就是为什么它在API Explorer上工作)。你应该:

  1. 在登录时询问 publish_permission (不推荐)或
  2. 当用户准备发送评论时,请求 publish_permission

  3. 作为一般规则,当您看到 OAuthException 时,您将遇到权限问题。

    如果帖子为照片类型,则您需要 user_photos 权限。