我有一个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();
答案 0 :(得分:0)
要获取特定页面的访问令牌,您可以执行以下操作:
$response = (new FacebookRequest($session, 'GET', '/$page_id?fields=access_token') )->execute()->getGraphObject();
这将返回如下所示的简单响应,因此如果您管理了多个页面,则无需搜索列表以查找访问+令牌:
{
"access_token": "aaabbbcccdddeee",
"id": "123456"
}