首页 > 解决方案 > Instagram 基本 API - 授权问题

问题描述

我正在尝试使用 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. opauth当我在以下 CURL 请求中使用 value 时,我得到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"



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

标签: apifacebook-graph-apiinstagraminstagram-apiinstagram-graph-api

解决方案


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

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


推荐阅读