OAuthException error_message:“无效范围:[]”我做错了什么?

Его*_*лач 5 oauth facebook-graph-api instagram-api instagram-graph-api

首先......我想通过oAuth为任何Instagram用户在我的应用程序中集成身份验证。

阅读指南https://developers.facebook.com/docs/instagram-basic-display-api/getting-started 后,我将自己添加到 Instagram 测试用户,然后没有任何问题获取令牌,user_id 并执行一些操作进入我的应用程序。但是,如果我可以在没有我的 Instagram 测试用户的情况下由任何 Instagram 用户执行此操作,我会在 oauth/access_token 方法上收到带有 400 状态和 error_message: "Invalid scope: []" 的 OAuthException

例如,一步一步:

  1. 获取 Instagram 授权表,写入用户名、密码https://api.instagram.com/oauth/authorize?app_id= {app-id}&redirect_uri={redirect-uri}&scope=user_profile&response_type=code&state={state}

  2. 然后我想用代码交换令牌。发送 POST 请求https://api.instagram.com/oauth/access_token通过数据 app_id={app-id}&app_secret={app_secret}&grant_type=authorization_code&redirect_uri={redirect_uri}&code={code} 参数“code”从步骤 1 获取.

  3. 现在,在完成第 2 步后,我通过 JSON 响应获得了令牌和 user_id。

因此,如果我由我的 Instagram 测试用户执行,我没有任何异常,但是如果我可以由另一个 Instagram 用户执行,请在步骤 1 中输入其他用户名和密码,我将收到 OAuthException

附注。我认为我的 Facebook 应用程序上的 API Instagram Basic Display 产品可能没有由任何有能力的开发人员主持。我发送了声明,但收到了拒绝:“不应使用 Instagram 个人资料权限对您的应用中的新用户进行身份验证”。那么,我做错了什么?

更新。在第 1 步中,如果我可以让另一个 Instagram 用户登录独特的用户名和密码,我将不会收到“代码”——第 2 步中的必要参数。

小智 7

如果您的应用程序仍处于开发模式,则您必须在我的应用程序 > 角色 > Instagram 测试人员中添加 Instagram 用户。而那些 Instagram 用户必须接受测试人员邀请。