我已注册沙盒用户。现在我正在尝试使用它,但我收到了#34;提供的access_token无效"。 样品申请:
https://api.instagram.com/v1/users/searchq=abc&count=2&client_id=7b67cff1a7ab462881298434c08b5ab8
它在实时模式下工作,但我无法找到它为什么不在沙箱中工作。
答案 0 :(得分:5)
您需要检查您正在使用的要求Scope for AP我以及是否需要和身份验证"有效访问令牌"。哪里也有一些变化。
并查看应用程序的**沙盒API行为,而不是生活:**
API行为
当您处于沙盒模式时,API的行为与您的应用程序处于活动状态时的行为相同,但具有以下限制:
数据仅限沙盒用户和每个沙盒用户的20个最新媒体 降低API速率限制 第一点非常重要,这意味着API的行为就好像Instagram上的唯一用户就是您的沙盒用户一样,并且发布的唯一媒体是每个用户的最后20个。
例如,如果您查询/ users / {user-id} / endpoint并且{user-id}是沙盒用户,那么您将获得正常的API响应;但如果{user-id}不是沙盒用户,则会收到APINotFound错误。
祝你好运答案 1 :(得分:3)
对我而言,Instagram生成的访问令牌太短了:他们给了我这样的东西:
d2c387d768ec4d619306807c53bbf92b
它应该是:
2940736713.1677ed0.31bb22b2b0f84befacc79c6afd025134
我用这个网站来生成它: http://instagram.pixelunion.net
答案 2 :(得分:1)
我在通过access_token解决相同的访问问题时发现了它
这是如何获得access_token的官方常见问题解答
您只需要执行以下步骤(链接到Instagram API文档https://www.instagram.com/developer/authentication/):
1。请求代码
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code
将CLIENT_ID更改为您的客户端ID(您可以在https://www.instagram.com/developer/clients/manage/处获得它)
从客户端设置中的标签安全性将REDIRECT-URI更改为您的redirect_uri(打开上方的链接,然后点击“管理”按钮)。我在这里使用了这个https://meyerweb.com/eric/tools/dencoder/编码网址,然后粘贴结果而不是REDIRECT-URI
准备好后,可以处理指向浏览器中地址栏的链接并运行
2。获取代码
浏览器问您一个前提,然后将您重定向到带有最后代码的回调URL。在地址栏中看起来像这样:
http://yoursite.some/?code=d8af5619af6853d4ad11b4dd5f1ef17e
在此示例中,您的代码为 d8af5619af6853d4ad11b4dd5f1ef17e 保存。您应该在下面的access_token请求中使用它
3。发出access_token请求
打开终端并使用curl:
curl -F 'client_id=CLIENT_ID' \
-F 'client_secret=CLIENT_SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \
-F 'code=CODE' \
https://api.instagram.com/oauth/access_token
将CLIENT_ID,CLIENT_SECRET,AUTHORIZATION_REDIRECT_URI和CODE更改为您自己的数据并运行。
Curl像这样用access_token返回JSON:
{
"access_token": "fb2e77d.47a0473320504cb3ab4a1f626d174d2d",
"user": {
"id": "1576583",
"username": "some",
"full_name": "Some",
"profile_picture": "..."
}
}
干得好!在此示例中, fb2e77d.47a0473320504cb3ab4a1f626d174d2d 是您的access_token。复制access_token值,在您的应用中使用它,并享受编码乐趣! :)
答案 3 :(得分:0)
我的问题是使用 Instafeed.js 的 v1,而不是 v2。
一旦我切换到 v2,一切都开始工作了。
<script src="/instafeed/dist/instafeed.min.js"></script>
<script src="https://ig.instant-tokens.com/users/.../instagram/.../token.js?userSecret=..."></script>
<div id="instafeed" class="instagram-feed">
</div>
<script>
(function(){
console.log(InstagramToken);
window.addEventListener('load', function () {
var feed = new Instafeed({
accessToken: InstagramToken,
});
feed.run();
});
})();
</script>
答案 4 :(得分:-2)
您尚未为您的请求指定access_token。