有必要审查Facebook应用程序向任何人显示页面发布?

时间:2014-07-23 13:23:42

标签: php facebook magento facebook-graph-api

我有一个Magento商店,我正在开发一个模块,将新产品发布到一个Facebook页面。

我完成了Page Administrator登录过程。

我还通过以下方式顺利发布内容:' POST',' / $ pageid / feed'

问题在于。 Facebook通过响应工作回到POST的ID。我可以看到该出版物说管理员已在Facebook页面上发布,但该帖子在页面上不可见,甚至被识别为页面的管理员。

我试图提交申请以供审核,但这是我得到的回复:

页面标签 您已经有权根据应用程序的管理员发布到自我/托管页面。谢谢! 卷筒纸 您已经有权根据应用程序的管理员发布到自我/托管页面。谢谢! 未批准

publish_actions 页面标签 您的应用不需要经验请求权限。请参阅public_profile Already字段中的信息。 未批准

manage_pages 页面标签 您的应用不需要经验请求权限。请参阅public_profile Already字段中的信息。

做错了什么?这是我发布的代码:

 ![$response = (new FacebookRequest(
                $session, 'POST', '/$pageid/feed', array(
                         'message'       => "text text text',
                         'link'          => $url,
                         'image'         => $imagen
                                                    )
                                ))->execute()->getGraphObject();][1]

而且,这是登录时向Facebook页面管理员请求的权限

$permissions = array(
        'email',
        'user_location',
        'publish_actions', 
        'manage_pages',
        'publish_stream',

          );

         $loginUrl = $helper->getLoginUrl($permissions);

已编辑。解

我找到了解决方案,要在Facebook页面发帖,你需要使用页面令牌来克服facebooksession。 要检索此令牌,您需要使用此代码作为用户令牌。

$response = (new FacebookRequest($session, 'GET', '/$user_id/accounts') )->execute()->getGraphObject();

1 个答案:

答案 0 :(得分:0)

要获取特定页面的访问令牌,您可以执行以下操作:

$response = (new FacebookRequest($session, 'GET', '/$page_id?fields=access_token') )->execute()->getGraphObject();

这将返回如下所示的简单响应,因此如果您管理了多个页面,则无需搜索列表以查找访问+令牌:

{
  "access_token": "aaabbbcccdddeee", 
  "id": "123456"
}