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