我成功获得了一个永不过期的Facebook页面访问令牌。当我想从我的Facebook页面上获取帖子时,我工作得很好。但是,当我想从我的Facebook页面外的页面发布评论时,出现错误" permission"出现了:
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页面上,所有评论都会显示出来并且#34;由我发布"。
由于
答案 0 :(得分:1)
为什么不在页面访问令牌中包含publish_actions
权限(请参阅https://developers.facebook.com/docs/graph-api/reference/v2.0/page/feed/#publish)?然后你也应该能够使用这个标记发布到Page的墙上。
请注意,这些帖子不会显示用户名,但会显示页面名称,因此会显示为“官方”......