微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OAuth "Facebook 平台" "access_denied" "无法为应用调用 API 背景问题已解决

如何解决OAuth "Facebook 平台" "access_denied" "无法为应用调用 API 背景问题已解决

背景

我的应用程序正在使用 Instagram 洞察数据,因此要求用户通过 Facebook 登录以授予所需的权限,例如 instagram_manage_insights、public_profile 等。使用登录时的访问令牌验证权限时,我收到一个意外错误一些用户,而不是所有让我发疯的用户

问题

// Request granted permissions
const url = "https://graph.facebook.com/v7.0/me/permissions?access_token=XXXXX";
const response = await axios.get(url)

//Expected result
{
 "data": [
  {
     "permission": "email","status": "granted"
  },{
     "permission": "pages_show_list",{
     "permission": "instagram_basic",{
     "permission": "instagram_manage_insights",{
     "permission": "public_profile","status": "granted"
  }
 ]
}

//Response
404 Bad Request
'OAuth "Facebook Platform" "access_denied" "Cannot call API for app XXXXXX on behalf of user XXXXXX"'

当我在 Facebook 开发者控制台访问令牌调试器中验证访问令牌时 (https://developers.facebook.com/tools/debug/accesstoken) 没问题,和工作用户没什么区别。

当我在网络浏览器 (https://graph.facebook.com/v7.0/me/permissions?access_token=XXXX) 中运行一个非工作用户时,一切正常,我得到了预期的结果。

我认为问题是由 axios 引起的,但是不一致的原因和原因?

解决方法

已解决

所以解决方案原来是设置>高级>应用程序限制中的“国家/地区限制”开关。关闭它解决了我的问题。不是很清楚...

Screenshot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。