Instagram基本API访问令牌无效

时间:2020-07-09 16:58:00

标签: instagram instagram-api

我正在尝试与新的instagram api集成,因为我的供稿不再可用,我已经设置了我的应用程序,并在提出请求时为它提供了必要的东西

https://api.instagram.com/oauth/authorize?client_id={instagram应用程序ID}&redirect_uri = {redirect_uri}&scope = user_profile,user_media&response_type = code

将我带到instagram,要求我用instagram登录,然后我被重定向回重定向uri,并且在url中具有以下?code = XXXXX,然后是一个我认为是访问权限的大字符串令牌,但是当我尝试使用它时不起作用,我尝试将其粘贴到Facebook访问令牌调试器中,并显示“无效的OAuth访问令牌”。

这就是我尝试使用它的方式https://graph.instagram.com?fields=media_url&access_token=XXXXX

1 个答案:

答案 0 :(得分:0)

否,该“代码”部分不是访问令牌。但是您需要它来获取访问令牌。如果您拥有“ code = XXXXX#_”,请使用“ XXXXX” 部分。注意-您需要最后删除“ #_”。

然后,您必须像文档中所说的那样发出POST请求。取决于所使用的技术,可以使其具有内部功能。 。在Rails中,您可以使用Curl :: Easy.http_post()

他们使用以下bash行:

curl -X POST \ https://api.instagram.com/oauth/access_token \ -F client_id={app-id} \ -F client_secret={app-secret} \ -F grant_type=authorization_code \ -F redirect_uri={redirect-uri} \ -F code={code}

client_id =您的instagram客户ID

client_secret =您的秘密。

(您可以在Instagram“基本显示”标签下的Facebook开发人员页面中找到这两者。

grant_type =授权码(请留在此处)

redirect_uri =这是获取令牌后将在其中导航的页面

代码 =来自“ code = XXXXX”的“ XXXXX”部分

在服务器响应中,您将收到带有user_id和access_token字段的对象。请注意,此令牌将在 1小时内到期。但是您可以将其交换为60天的长期令牌。

使用此模式获取它:

https://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret=#{YOUR_CLIENT_SECRET}&access_token=#{SHORT_TERM_TOKEN_YOU_JUST_RECEIVED]

它应该返回带有2个字段的对象:令牌寿命长和到期前的秒数。

希望有帮助。