【发布时间】: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