我使用以下api从公共帐户中获取最新的3个帖子以显示在网站上:
https://api.instagram.com/v1/users/{user-id}/media/recent/?client_id={client-id}&count=3
我创建了一个应用来获取客户端ID 但是从今天开始,此API已经开始抛出以下异常:
{
meta: {
error_type: "OAuthAccessTokenException",
code: 400,
error_message: "The access_token provided is invalid."
}
}
请告诉我如何解决这个问题?
答案 0 :(得分:13)
根据日期,您可能有一个较旧的应用程序,今天受到API迁移的影响,就像我的一样。简而言之,Instagram决定通过要求每个用户对所有API请求进行身份验证来使他们的平台开发变得更加烦人,即使对于用户公开共享的数据也是如此。所以你(像我一样)可能会完全重新设计你的应用程序。
告诉,登录instagram.com/developer并点击管理客户端;然后点击你想要使用的一组键旁边的编辑。接近顶部,它将有一个名为“客户端状态”的部分 - 如果您的部分显示“沙盒模式”,那么欢乐时光!希望你与不到10个用户进行互动并且可以保持沙盒模式,否则你将不得不写一篇文章,拍摄视频,并且基本上请求获得你的权限(可能在几个月内,当一些Instagram实习生最终挖掘他在一堆应用程序中向你致敬)。如果它读了一些东西,你就会有另外一个问题,应该感谢你的幸运星。
与此同时,我想我会回到向我们很多很多附属Instagram帐户的维护人员发送数十封电子邮件来解释问题并尝试获取权限,所以只要我们获得批准,所有我们的社交媒体展示在星期六的大型活动中没有被打破。另一种选择可能是使用无OAuth的json响应available here,但这可能会破坏服务条款。
答案 1 :(得分:5)
我有一个解决方案。如果你使用相同的代码,那很可能。我用它来拉最后两张图片。
https://api.instagram.com/v1/users/{user-id}/media/recent/?client_id={client-id}&count=3
我所做的工作如下:
登录您用作申请的Instragram帐户。
转到开发人员(API)区域。 https://www.instagram.com/developer/clients/manage/
https://api.instagram.com/oauth/authorize/?client_id=CLIENTID&redirect_uri=REDIRECT_URI&response_type=token
,其中客户ID与您之前在上一个应用中使用的客户ID相同。https://api.instagram.com/v1/users/{user-id}/media/recent/?client_id={client-id}&count=3
更改为https://api.instagram.com/v1/users/self/media/recent/?access_token=ACCESS_TOKEN
。这是IG API Media端点文档:https://www.instagram.com/developer/endpoints/users/
之后,这一切对我有用,当你在沙盒中时,你应该能够拉出最后3张照片,或者在这一点上,找出如何阅读JSON来做到这一点。
答案 2 :(得分:1)
6月1日Instagram平台发生变化后,您的应用是否获得批准?
http://developers.instagram.com/post/145262544121/instagram-platform-update-effective-june-1-2016
答案 3 :(得分:0)
由于某种原因,令牌不再有效。再次请求。
令牌不再有效的可能原因:
答案 4 :(得分:0)
如果您要检索用户媒体文件,请尝试此操作,它对我有用
https://graph.instagram.com/me/media?fields=id,caption,media_url,media_type&access_token=ACCESS_TOKEN