Facebook Graph 权限不正确

Facebook Graph permissions incorrect

我正在尝试更新我的代码以使用 FB Graph 3.0。

登录流程运行良好,我请求我的权限并且用户授予了它们。使用 PHP SDK 的 PHP 代码的后面部分是为了 post 到用户的时间线。

$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_pagespublish_pages 权限,但我仍然无法 post 我的时间线,而且错误代码似乎表明这些权限未设置。

FB v3.0 API /me/feed endpoint documentation 中所述,您需要 user_posts 权限(未列在您授予的权限中)才能在此端点上阅读和发布。 Publish_x 权限仅与页面和组相关,与个人供稿无关。

如果没有评论提醒,请检查您的 FB 应用程序的公告板,最近的立法更改(GDPR ...)和 Facebook 问题(Cambridge Analytica 等...)已经进行了很多更改在 API.

我不是 FB API 专家,但是,Twitter 最近删除了自动 post 到 FB 的功能——我的假设是这个自动 posting 到最新的 FB 图表 API 中不再可能显示用户的时间线。至少,它比第 3 方开发人员期望非技术客户处理的要多得多。

https://help.twitter.com/en/managing-your-account/link-twitter-to-facebook