来自Instagram的错误:提供的access_token无效

问题描述 投票:2回答:1

我在一年前设置了一个网站,其中一个Instagram提要显示网站上一个帐户的图像。它一直工作到上周,我开始投掷:Error from Instagram: The access_token provided is invalid.从哪儿。

我环顾四周,发现(相当逻辑上)我需要重新生成令牌。我试过通过instagram.pixelunion这样做

登录管理员帐户时。那没起效。

所以我尝试了这个:https://www.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

我想这个网站的工作原理是将clientId粘贴到网址postclient_id=xxxand刷新页面,但这样做会返回:

{"error_type": "OAuthForbiddenException", "code": 403, "error_message": "Implicit authentication is disabled"}

这是我获取图像的代码(我还有一个instafeed.min.js):

    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();
instagram instagram-api
1个回答
0
投票

如果您查看您的应用程序设置:

https://www.instagram.com/developer/clients/{clientId}/edit/在“安全”下;你会检查Disable implicit OAuth。其描述如下:

禁用Web应用程序的客户端(隐式)OAuth流程。如果选中此选项,Instagram将通过仅允许使用服务器端(显式)OAuth流的授权请求来更好地保护您的应用程序。服务器端流程被认为更安全。有关详细信息,请参阅验证文档

要解决您所面临的错误:Implicit authentication is disabled您需要使用服务器端身份验证。这是response_type=code而非response_type=token在您的请求。


有关response_type的OAuth 2.0差异的详细信息:

response_type=code将为您提供临时代码,并使用令牌端点从代码(https://www.instagram.com/developer/authentication/)接收令牌:

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
© www.soinside.com 2019 - 2024. All rights reserved.