如何解决Facebook错误:此终端节点需要'manage_pages'或'pages_read_engagement'权限
我们有一个React应用程序,其中我们使用“ react-facebook-login” npm程序包使用户登录到Facebook。在登录调用中,我们将范围设置为'manage_pages,publish_pages',我们还尝试根据Facebook的documentation将其设置为新的manage_pages范围,该范围描述了弃用manage_pages权限'pages_read_engagement,pages_manage_posts,pages_manage_metadata,pages_adage_engage ,pages_read_user_content”。
登录后,我们将通过后端调用某些端点,以获取链接到已登录用户的长期访问令牌和页面,从而能够通过我们的应用程序管理用户页面。
这一切都正常,除非用户尝试连续登录多次。如果用户尝试连续登录+-4次,则会出现以下错误:
(#10)此终结点需要“ manage_pages”或“ pages_read_engagement”权限或“页面公共内容访问”功能或“页面公共元数据访问”功能。请参阅https://developers.facebook.com/docs/apps/review/login-permissions#manage-pages、https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS和https: //developers.facebook.com/docs/apps/review/feature#page-public-metadata-access以获取详细信息。“,” type“:” OAuthException“,” code“:10,” fbtrace_id“:” Ac9IFTf2PQ8E7iQzgC5B1fc“}
我们在Facebook上具有以下权限:
- 电子邮件
- pages_manage_ads
- pages_manage_engagement
- pages_manage_metadata
- pages_manage_posts
- pages_read_engagement
- pages_read_user_content
- 默认
,并且我们启用了“企业资产用户配置文件访问”功能。
有人可以告诉我我们丢失了什么,或者为什么几次登录后都失败了?
给出此错误的端点是:
https://graph.facebook.com/{pageId}?fields=access_token&access_token={accessToken}&appsecret_proof={GetAppSecretProof(accessToken)} pageId是用户的每个可访问的pageId。我们获得这些带有端点的页面:
最后但并非最不重要的一点是,对于从端点获得的这些请求,我们使用了长期存在的访问令牌:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={_configuration.ClientId}&client_secret={_configuration.ClientSecret}&fb_exchange_token={exchangeToken} exchangeToken是我们从前端登录用户获得的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。