我似乎无法生成页面访问令牌。我尝试通过从用户或页面下拉列表中选择“获取页面访问令牌”来使用 Graph API Explorer,但它会打开一个带有以下错误的窗口:
我也尝试过发送以下 API 请求,但即使它返回
200 OK
状态代码,内容也是一个空数组!
curl -i -X GET "https://graph.facebook.com/{your-user-id}/accounts?access_token={user-access-token}
结果:
{"data":[]}
我还尝试使用以下命令获取页面访问令牌:
curl -i -X GET "https://graph.facebook.com/v14.0/<page_id>?access_token=<user_access_token>&fields=access_token"
结果:
{"error":{"message":"(#100) Object does not exist, cannot be loaded due to missing permission or reviewable feature, or does not support this operation. This endpoint requires the 'pages_read_engagement' permission or the 'Page Public Content Access' feature or the 'Page Public Metadata Access' feature. Refer to https://developers.facebook.com/docs/apps/review/login-permissions#manage-pages, https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS and https://developers.facebook.com/docs/apps/review/feature#page-public-metadata-access for details.","type":"OAuthException","code":100,"fbtrace_id":"AIx208__9nozhxypMyxZYpy"}}
我的用户被列为此页面的管理员,我之前只需使用上面的 Graph API Explorer 即可创建页面访问令牌。
在 Graph API Explorer 中,我似乎没有任何“pages_read_engagement”这样的选项。
如何生成页面访问令牌?
注意: 我也在 Facebook 开发者社区论坛上问过这个问题,但还没有人回答。这似乎是一个简单的问题,所以我很惊讶到目前为止我还没有得到任何答复。 https://developers.facebook.com/community/threads/911494286473743/
参考。 https://developers.facebook.com/docs/facebook-login/guides/access-tokens#pagetokens
如果您是管理员并且拥有需要访问令牌的页面的 Facebook 页面 ID,那么您可以使用以下 API 来获取页面访问令牌 -
curl --location --request GET 'https://graph.facebook.com/v14.0/<page_id>?access_token=<user_access_token>&fields=access_token'
您还可以使用 Graph API Explorer 使用用户令牌获取相同的内容。