获取/刷新MY OWN Instagram帐户的access_token

Max*_*ard 5 instagram instagram-api

我正在使用新的Instagram Basic Display API。
我按照以下步骤获取了访问令牌:https : //developers.facebook.com/docs/instagram-basic-display-api/getting-started

问题是access_token很快过期(大约一小时后),我必须从api.instagram.com获取新的授权代码,然后将其交换为新的access_token。授权步骤必须是手动步骤,因为我需要使用我的帐户凭据向Instagram进行身份验证(我在浏览器中打开URL :)https://api.instagram.com/oauth/authorize?app_id={APP_ID}&redirect_uri={REDIRECT_URI}&scope=user_profile,user_media&response_type=code

可以通过编程方式(使用cURL)完成与access_token的授权码交换。

curl -X POST \
                    https://api.instagram.com/oauth/access_token \
                    -F app_id={APP_ID} \
                    -F app_secret={APP_SECRET} \
                    -F grant_type=authorization_code \
                    -F redirect_uri={REDIRECT_URI} \
                    -F code={AUTH_CODE}
Run Code Online (Sandbox Code Playgroud)

我只想获取自己的 Instagram帐户的媒体。有没有一种方法可以访问我自己的数据而无需每小时刷新一次我的access_token?

我发现此端点是公开可读的:https : //www.instagram.com/proquartet_cemc/?__a=1

如果无法使用基本显示API,我将解析此终结点返回的JSON。但是它没有记录在任何地方,因此可以随时将其禁用...

谢谢你的帮助。

小智 1

我有同样的问题,但在新的更新(2019-12-06)中,instagram api 添加了长期访问令牌(这不是最好的解决方案,但这些令牌的有效期为 60 天。重要提示:具有长期访问令牌60天内未刷新将过期)

https://developers.facebook.com/docs/instagram-basic-display-api/changelog

抱歉我的英语不好。