Instagram出错:提供的访问令牌无效
一年前,我建立了一个网站,其中有一个Instagram提要,显示了该网站上某个帐户的图像。直到上周我开始抛出Instagram的错误:提供的访问令牌无效。 不知从哪里来 我环顾四周,发现(逻辑上)我需要重新生成令牌。我试着通过 以管理员帐户登录时。它不起作用 所以我试过这个: 我认为该网站的工作原理是在Instagram出错:提供的访问令牌无效,instagram,instagram-api,Instagram,Instagram Api,一年前,我建立了一个网站,其中有一个Instagram提要,显示了该网站上某个帐户的图像。直到上周我开始抛出Instagram的错误:提供的访问令牌无效。 不知从哪里来 我环顾四周,发现(逻辑上)我需要重新生成令牌。我试着通过 以管理员帐户登录时。它不起作用 所以我试过这个: 我认为该网站的工作原理是在client_id=xxx之后将clientId粘贴到url中,并刷新页面,但这样做会返回: {"error_type": "OAuthForbiddenException", "code":
client_id=xxx
之后将clientId粘贴到url中,并刷新页面,但这样做会返回:
{"error_type": "OAuthForbiddenException", "code": 403, "error_message": "Implicit authentication is disabled"}
以下是我获取图像的代码(我还有一个instafeed.min.js):
var feed=new Instafeed({
目标:“insta图像”,
获取:“用户”,
用户标识:“xxxxxx”,
客户ID:“xxxxxxxxxxxxxxxxxxxx”,
accessToken:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
决议:“标准决议”,
限额:8,
模板:''
});
feed.run();
如果查看应用程序设置:
https://www.instagram.com/developer/clients/{clientId}/edit/
在“安全”下;您将选中禁用隐式OAuth
。这被描述为:
为web应用禁用客户端(隐式)OAuth流。如果选中此选项,Instagram将只允许使用服务器端(显式)OAuth流的授权请求,从而更好地保护您的应用程序。服务器端流被认为更安全。有关详细信息,请参阅身份验证文档
要解决您面临的错误:禁用隐式身份验证
您需要使用服务器端身份验证。这是请求中的response\u type=code
而不是response\u type=token
有关OAuth 2.0中响应类型的差异的额外详细信息:
response\u type=code
将为您提供临时代码,您可以使用令牌端点从代码()接收令牌:
请调查:
var feed = new Instafeed({
target: "insta-images",
get: 'user',
userId: "xxxxxx",
clientId: "xxxxxxxxxxxxxxxxxxxxxxxx",
accessToken: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
resolution: "standard_resolution",
limit: 8,
template: '<li id="insta"><a href="{{link}}"><img src="{{image}}"/></a></li>'
});
feed.run();
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