【问题标题】:Automatically post on Facebook page wall as app作为应用程序自动在 Facebook 页面墙上发布
【发布时间】:2016-01-08 08:11:34
【问题描述】:

我实际上正在为电子商务网站编写一些遗留的 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 权限?

注意我用我的 facebook 用户帐户来做到这一点,他是 facebook 页面上的编辑器。也许有帮助

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

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

我应该如何请求 manage_pages 范围?

【问题讨论】:

标签: php facebook facebook-graph-api


【解决方案1】:

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

这在文档中的多个地方都明确提到,并进行了广泛详细的描述:https://developers.facebook.com/docs/facebook-login/permissions/review

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

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2018-02-16
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多