【问题标题】:Facebook api can't get publish stream with long lived access tokenFacebook api 无法使用长寿命访问令牌获取发布流
【发布时间】:2014-06-15 23:48:06
【问题描述】:

我成功地为我的 Facebook 页面获取了永不过期的访问令牌。当我想从我的 Facebook 页面获取帖子时,我工作得很好。但是当我想从我的 facebook 页面之外的页面发布评论时,出现了错误“权限”:

Fatal error: Uncaught exception 'Facebook\FacebookPermissionException' with message '(#200) 
The user hasn't authorized the application to perform this action' in /var/www/dev/test/Facebook/FacebookRequestException.php:128 Stack trace: #0 /var/www/dev/test/Facebook/FacebookRequest.php(261): Facebook\FacebookRequestException::create('{"error":{"mess...', Object(stdClass), 403) #1 /var/www/dev/test/facebook.php(164): Facebook\FacebookRequest->execute() #2 {main} thrown in /var/www/dev/test/Facebook/FacebookRequestException.php on line 128

我找到了一些文章,它们都给了我一个解决方案,我必须使用 getLoginUrl 来获取链接,单击它以连接到 facebook 并接受一些权限......就像这样:

$permissions = array('manage_pages','publish_stream');

// Get login URL
$loginUrl = $helper->getLoginUrl($permissions);

这里是这个函数“getLoginUrl”的文档:

此方法返回一个 URL,当用户在客户端单击该 URL 时,将重定向用户登录 Facebook 并在必要时授权您的应用程序。然后它将重定向回您的应用程序。如果用户未成功登录或未授权您的应用程序,则用户将通过 HTTP 302 重定向重定向到您的 redirect_uri,URL 中包含 error、error_reason 和 error_description 参数。有关详细信息,请参阅身份验证页面。

是否可以拥有访问令牌并使用它自动连接到 facebook(用户无需执行任何操作,只需从我的页面(在 fb 之外)发送评论)?

注意:在我的情况下,所有用户都将使用一个帐户(这是我的帐户)发布到我的 Facebook 页面的墙上。他们不需要登录自己的帐户。在我的 facebook 页面的墙上,所有的 cmets 都会显示为“由我发布”。

谢谢

【问题讨论】:

    标签: facebook facebook-graph-api publish facebook-comments


    【解决方案1】:

    为什么不在页面访问令牌中包含publish_actions 权限(请参阅https://developers.facebook.com/docs/graph-api/reference/v2.0/page/feed/#publish)?然后,您应该也可以使用此令牌发布到页面的墙上。

    请记住,这些帖子不会出现用户名,而是页面名称,因此看起来“官方”......

    【讨论】:

    • 我在我的应用程序中添加了 publish_actions 并且它有效。谢谢!
    猜你喜欢
    • 2017-07-12
    • 2013-10-14
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多