我正在尝试更新我的代码以使用 FB Graph 3.0。
登录流程运行良好,我请求我的权限并且用户授予它们。稍后使用 PHP SDK 的 PHP 代码将发布到用户的时间线。
$r = $this->facebook->get('/me/permissions');
$result = $this->facebook->post('/me/feed/', $fbpost);
如果我检查 $r
,我可以看到我拥有所需的权限:
manage_pages: granted
publish_pages: granted
public profile: granted
pages_show_list: granted
然而,当它发出实际请求时,它失败并出现错误:(#200) Requires either publish_actions permission, or manage_pages and publish_pages as an admin with sufficient administrative permission
当我尝试将 publish_actions
授权添加到我的登录名时(使用 javascript 库)我收到一个错误,它是无效的:Invalid Scopes: publish_actions.
尽管 FB 自己在几个示例中显示此确切范围的文档。
谁能指出我做错了什么?
编辑:我不太关心 publish_actions
范围的变化,尽管我知道这可能是文档中没有的新变化——但我确实有 manage_pages
和 publish_pages
权限,但我仍然无法发布到我的时间线,错误代码似乎表明这些权限未设置。
最佳答案
如 FB v3.0 API /me/feed endpoint documentation 中所述您需要 user_posts
权限(未在您授予的权限中列出)才能在此端点上阅读和发布。 Publish_x 权限仅与页面和组相关,与个人提要无关。
如果没有评论提醒,请检查您的 FB 应用程序的面板,最近立法(GDPR ...)和 Facebook 问题(Cambridge Analytica 等...)发生了很多变化API。
关于php - Facebook Graph 权限不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50430307/