使用永不过期的访问代码的授权异常

Authorised Exception using access code which never expires

使用 Facebook 访问令牌调试器,我可以看到我有一个永不过期的访问令牌。 https://developers.facebook.com/tools/debug/accesstoken/

但是使用 Graph Explorer 我得到了错误

{
   "error": {
      "message": "(#10) To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved by Facebook. To submit this 'Page Public Content Access' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review.",
      "type": "OAuthException",
      "code": 10,

... } }

这以前是有效的,Facebook 有什么变化吗?唯一发生变化的是我对 Facebook 应用程序的访问权限被删除然后恢复,所以我现在使用不同的访问代码。

任何人都可以告诉我需要做什么来解决这个问题,我以前不需要 Facebook 评论来使用这个 API 上个月。

谢谢

已编辑:请求页面访问令牌时需要登录的屏幕:

这与令牌过期无关。

Facebook 已限制 API 访问任何 public 页面的数据 - 您现在需要审核您的应用是否使用“页面 Public 内容访问”功能, 才可以使用。

https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS

如果不进行审核,您只能访问您具有管理员访问权限的页面中的数据 - 但这又需要使用不同类型的令牌,即页面访问令牌。 (您大概使用了通用应用程序访问令牌,因为您的请求到目前为止一直有效。要继续努力访问 public 页面数据,您需要提交该功能以供审核。)

感谢 misorude 的帮助。这对我有用:

第 1 步:请求业务经理授予用户 "Manage Pages" 应用程序和页面的权限:

https://business.facebook.com/settings/pages/PageID?business_id=BusinessID https://business.facebook.com/settings/apps/AppID?business_id=BusinessID

第 2 步:创建用户访问令牌(select "Get User Access Token" 来自 "Get Token" 下拉列表)

https://developers.facebook.com/tools/explorer/

第 3 步:通过使用临时用户访问令牌调用图形方法来检查用户是否具有访问权限

例如https://graph.facebook.com/v3.3/PageID?fields=link%2Cpicture&access_token=UserAccessToken

例如https://graph.facebook.com/v3.3/PageID/feed?fields=message%2Cfull_picture%2cpermalink_url%2Ccreated_time&limit=3&access_token=UserAccessToken

第 4 步:创建永久用户访问令牌 https://developers.facebook.com/tools/debug/accesstoken/ 单击页面底部的"Extend Access Token"并调试以显示到期的令牌:never