获取Facebook长期页面访问令牌时遇OAuthException错误(#15)求助
解决Facebook长期页面访问令牌兑换错误(#15 OAuthException)
问题诊断
你遇到的(#15) This method must be called with an app access_token错误,核心原因是用错了API端点:
- 当前调用的
/{app-id}/accounts端点确实要求使用应用访问令牌(App Access Token),但它的作用是获取与应用直接关联的页面信息,并非通过用户身份获取其管理的页面令牌。 - 而根据文档,通过长期用户访问令牌兑换长期页面访问令牌,应当使用
/me/accounts端点。
正确操作步骤
- 使用长期用户访问令牌调用以下API端点:
https://graph.facebook.com/v19.0/me/accounts?access_token={long-lived-user-access-token}
- 成功响应后,返回结果中每个页面对象的
access_token字段,就是你需要的长期页面访问令牌(有效期默认60天,只要用户未取消应用授权、页面状态正常,可通过后续流程续期)。
补充说明
- 应用访问令牌可直接通过
{app-id}|{app-secret}拼接生成,但它不适用于你当前获取用户管理页面令牌的场景。 - 需确保长期用户访问令牌具备
pages_show_list、pages_read_engagement等必要权限,否则可能返回空数据或权限错误。
内容的提问来源于stack exchange,提问作者ternary
相关产品推荐
相关产品推荐

