【问题标题】:Facebook PHP SDK Graph API post to page not functioning properlyFacebook PHP SDK Graph API 发布到页面无法正常运行
【发布时间】:2012-06-18 18:34:34
【问题描述】:

我正在尝试向我的应用添加一项功能,该功能将向管理员用户的页面时间线发布状态,其详细信息与他们在 Facebook.com 上发布的相同。我关注的主要功能是链接共享和缩略图图像,例如当您将链接粘贴到您的状态时,它会自动检测缩略图图像,为您提供漂亮的链接、描述等。我孜孜不倦地阅读其他论坛和 Graph API 文档,我一直遇到问题,帖子显示为管理员用户,而不是页面。这是我的代码:

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

$loginUrl = $facebook->getLoginUrl(array(
    "scope" => 'publish_stream, read_insights, manage_pages, photo_upload, video_upload, create_note, manage_notifications'
));

$access_token   = $facebook->getAccessToken();

$fbpost = array();

$fbpost['access_token'] = $access_token;
$fbpost['message']      = $message;
$fbpost['link']         = $link;
$fbpost['description']  = $description;
$fbpost['caption']      = $caption;
$fbpost['picture']      = $fbimg;

$status = $facebook->api('/'.$pageID.'/feed', 'POST', $fbpost);
var_dump($status);

当我只发布 $fbpost['message'] 时,它会正确地将状态发布为页面,但是当我添加任何其他内容时,它会将帖子显示为经过身份验证的管理员用户而不是页面。非常令人沮丧。有什么想法吗?

【问题讨论】:

  • 另外,当它以管理员用户身份发帖时,它会将链接、图片等显示为附件,然后必须通过应用程序进行身份验证。这与实际发布到状态时间线完全不同。

标签: php facebook facebook-graph-api facebook-php-sdk facebook-page


【解决方案1】:

我在帖子显示为管理员用户而不是页面时一直遇到问题。

然后获取page access token,而不是管理员用户的用户访问令牌……

【讨论】:

  • 感谢 CBroe,我第一次查看此页面时并没有注意到此页面上所需的额外 access_token(Facebook 文档太多!)。由于没有关于如何在 PHP 中处理这个问题的好的文档,我也将发布一个答案。再次感谢!
【解决方案2】:

感谢 CBroe 提供link to the Facebook docs on the page/app access token。在检查完之后,我想出了这个 PHP(因为 PHP SDK 中没有很好的文档来获取页面访问令牌):

$user_token     = $facebook->getAccessToken();
$accounts       = $facebook->api('/me/accounts?access_token='.$user_token);
$account_token  = 0;
foreach ($accounts['data'] as $account) {
    if ($account['id'] == $_SESSION['facebook']) {
        $account_token = $account['access_token'];
    }
}

if ($account_token) {
    /// your page token code
} else {
    echo 'You must be an admin on this page!';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2012-01-15
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多