我正在尝试使用Insatgram Basic Display API来获取有关特定Instagram帖子的一些信息。我正在阅读Facebook API文档,但是有些不一致之处似乎无法找到解决方案。我的目标是创建一个可以在我的网站上使用的私人应用程序,该应用程序将显示有关任何给定Instagram帖子的一些信息(不仅限于我的帐户)。
我已经创建了FB应用,并使用以下URL在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
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"
我已经仔细检查了请求中的每个值,它们似乎是正确的。为确保确定,我经历了几次授权过程,但是无论如何都无法获得访问令牌。
找到了。 opauth
参数某种程度上是使用Opauth框架的WordPress主题的结果。从Instagram重定向的url的code
参数值已替换为具有自己值的新opauth
参数。
使用不同的主题使我能够从重定向URL获得正确的code
参数并获得访问令牌。