新的Facebook长期访问令牌无效

时间:2020-09-25 08:30:48

标签: facebook facebook-graph-api facebook-javascript-sdk instagram-api instagram-graph-api

我正在为用户首次注册我的应用程序创建长期访问令牌,在过去6到8个月中,该令牌一直运行良好。最近,由于缺乏使用,我的应用程序(发布Graph API v8.0时)已撤消了manage_pages权限。的确,我们没有使用此权限,但之所以要求它,是因为在我们刚开始时,我们为收集用户对Instagram的见解而进行的一些通话是必需的。我不知道这是否与问题有关,而无论如何都包括在内。

现在看来,新创建的访问令牌会自动失效,以前从未如此。我通过访问令牌调试器运行这些访问令牌,并收到以下错误:

Error validating access token: The user has not authorized application [MY_APP_ID].

这个问题似乎开始慢慢出现,现在即使授予我们以下权限,我们应用上的每个新用户也都遇到此问题:

  • public_profile
  • 电子邮件
  • instagram_basic
  • instagram_manage_insights
  • pages_show_list

最近从我的应用中撤消的权限是:

  • pages_manage_ads
  • pages_read_user_content
  • pages_manage_metadata

用户经历了完整的OAUTH流程,当他们重定向到我的网站时,我创建了一个长期的访问令牌,但该令牌似乎无法识别该用户已授权我的应用程序,因此无效。

这是我为新用户提供的OAUTH网址:

https://www.facebook.com/v5.0/dialog/oauth?client_id={{ settings.FACEBOOK_CLIENT_ID }}&redirect_uri={{ settings.FACEBOOK_REDIRECT_URL }}&state={{MY_STATE}}&return_scopes=true&auth_type=rerequest&scope=public_profile,email,instagram_basic,instagram_manage_insights,pages_show_list

1 个答案:

答案 0 :(得分:0)

您必须从 Facebook 按钮代码中删除 (?:^|\G) # non capture group, beginning of lien OR restart from last match position .... # 4 any character but newline \K # forget all we have seen until this position 范围并将其替换为 manage_pages 范围:)