【问题标题】:Instagram Basic API - Authorization issueInstagram 基本 API - 授权问题
【发布时间】:2020-05-21 07:48:58
【问题描述】:

我正在尝试使用 Insatgram Basic Display API 来获取有关特定 Instagram 帖子的一些信息。我正在浏览 Facebook API 文档,但有些不一致之处我似乎无法找到解决方案。我的目标是创建一个可以在我的网站上使用的私人应用程序,它会显示有关任何给定 Instagram 帖子的一些信息(不仅来自我的帐户)。

我已经创建了 FB 应用并使用以下网址在 Instagram 上对其进行授权:

https://api.instagram.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=user_profile,user_media&response_type=code



这会将我重定向到通常的 Instagram 权限窗口,我接受并被重定向回此 URL:

https://REDIRECT_URL?opauth=CODE#_



从现在开始有两个问题:
1. Facebook 文档声明返回的 url 参数应该是code,而不是opauth

https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-access-tokens-and-permissions
  1. 当我在以下 CURL 请求中使用 opauth 的值时,我得到 Invalid Authorization Code 错误作为回报:
curl -X POST https://api.instagram.com/oauth/access_token -F "client_id=CLIENT_ID" -F "client_secret=CLIENT_SECRET" -F "grant_type=authorization_code" -F "redirect_uri=REDIRECT_URL" -F "code=OPAUTH_VALUE"



我已经仔细检查了请求中的每个值,它们似乎是正确的。为了确定,我经历了几次授权过程,但无论如何都无法获得访问令牌。

【问题讨论】:

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


    【解决方案1】:

    找到了。 opauth 参数在某种程度上是 WordPress 主题使用 Opauth 框架的结果。来自 Instagram 的重定向 url 的值 code 参数被新的 opauth 参数替换为它自己的值。

    使用不同的主题允许我从重定向 url 中获取正确的 code 参数并获取访问令牌。

    【讨论】: