我正在尝试与新的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
答案 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个字段的对象:令牌寿命长和到期前的秒数。
希望有帮助。