自动在Facebook页面墙上发布app

时间:2016-01-08 08:11:34

标签: php facebook facebook-graph-api

我实际上正在为一个电子商务网站开发一些遗留的PHP代码,管理员可以在他们的商店Facebook页面上自动分享一些产品。 这已不再适用了,即使遵循facebook API参考,我仍然遇到麻烦。 遗留代码使用应用程序在墙上发布

访问令牌
为了获得有效的访问令牌,我将重定向到:

http://www.facebook.com/dialog/oauth?client_id=$FB_APP_ID&
redirect_uri=$APP_RETURN_URL&
scope=publish_actions,manage_pages

然后,我收到它返回的CODE并向https://graph.facebook.com/oauth/access_token询问GET请求,并带有以下参数:

'client_id' => $FB_APP_ID,
'redirect_uri' => $APP_RETURN_URL,
'client_secret' => $FB_APP_SECRET,
'code' => $code (got from the above redirect)

然后我存储它返回的访问令牌(我没有收到错误消息和有效的access_token)

问题在于,当我尝试通过对https://graph.facebook.com/ $ pageId / feed的POST调用发布在墙上 我收到以下错误消息:

  

(#283)需要扩展权限:manage_pages

我用于第一次重定向的范围参数不足以获得manage_pages权限吗?

N.B。我使用我的Facebook用户帐户,即Facebook页面上的编辑器。也许有帮助

编辑:这是访问令牌调试的输出:

App ID .....
用户ID ...
用户上次通过API v2.x安装此应用程序 发行1452163781(21小时前)
到期1457347781(约2个月)
有效真实 Origin Web
范围电子邮件,public_profile

我应该如何询问manage_pages范围?

1 个答案:

答案 0 :(得分:1)

您需要先获得Facebook审核的权限,然后才能要求普通用户(在应用中没有角色的用户)获得这些权限。

这在文档的多个位置明确提到,并详细描述:https://developers.facebook.com/docs/facebook-login/permissions/review

另外,从API v2.3开始,您需要publish_pages权限(而不是publish_actions)才能将发布为页面。