【发布时间】:2015-12-02 08:59:16
【问题描述】:
我花了很长时间试图让它发挥作用,并花了同样长的时间搜索论坛(包括这个)来寻找答案。不幸的是,我似乎找不到任何解决这个问题的方法.....
我创建了一个 FB 应用程序,该应用程序用于发布(作为页面)到 FB 中的页面。
通过 dedigging,我将整个 URL 设为:
https://graph.facebook.com/216065898461057/feed?access_token={access-token}
“访问代码”是页面访问代码,我还在 URL 中包含了“页面 ID”。我引用 FB 文档:
当页面管理员的用户访问令牌在请求中时,例如 POST /v2.3/{page-id}/feed,动作伴随着声音发生 用户,而不是页面。要发布为页面,您现在必须使用 页面访问令牌。
运行代码我从 FB 收到以下错误: “远程服务器返回错误:(403) Forbidden。”
如果我使用 FB Graph Explorer 做同样的事情,我会收到以下错误:
{ “错误”:{ "message": "(#200) 用户未授权应用程序执行此操作", “类型”:“OAuthException”, “代码”:200, "fbtrace_id": "GgRkiy/i6tP" } }
现在,许多帖子都会建议为应用添加必要的权限,但我目前已获得以下批准:
电子邮件、manage_pages、public_profile、publish_actions、publish_pages、 user_friends, user_managed_groups
我的理解是在 v2.3 中你应该只需要 publish_pages。
谁能明白为什么这不起作用!
【问题讨论】:
-
在调试器中调试你的页面令牌:developers.facebook.com/tools/debug
-
你需要的是 manage_pages 和 publish_pages
-
我已经拥有“manage_pages”和“publish_pages”——请参阅我的帖子中的完整列表。
-
如果我使用调试“页面令牌”,范围列表是:电子邮件、manage_pages、publish_actions、public_profile - 所以这没有“publish_pages”。这可能是问题吗?该应用确实有“publish_pages”
-
嗯,这就是问题所在。如果没有 publish_pages,您将无法发布。如果它没有出现在调试器中,你没有授权它。看我的回答。
标签: facebook facebook-graph-api facebook-permissions facebook-graph-api-v2.3