(Instagram API)达到标签端点的问题
本文关键字:标签 端点 问题 Instagram API | 更新日期: 2023-09-27 18:25:13
我正在收集一份包含特定标签的最近帖子列表。API文档指出,我应该使用以下GET调用:
https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN
当我加载我想要显示此信息的页面时,我执行以下操作:
using(HttpClient Client = new HttpClient())
{
var uri = "https://api.instagram.com/v1/tags/" + tagToLookFor + "/media/recent?access_token=" + Session["instagramaccesstoken"].ToString();
var results = Client.GetAsync(uri).Result;
// Result handling below here.
}
作为参考,tagToLookFor是在类顶部定义的常量字符串(例如foo),我将OAuth进程返回的访问令牌存储在Session对象中,密钥为"instagramaccesstoken"。
在调试时,我进行了检查,以确保URI的格式正确,并且它确实包含标记名和刚刚创建的access_token。使用具有相同URI的Apigee(保存为不同的access_token)会返回我所期望的有效结果。然而,尝试在我的webstie上使用URI GET返回:
{
StatusCode: 400,
ReasonPhrase: 'BAD REQUEST',
Version: 1.1,
Content: System.Net.Http.StreamContent,
Headers:{
X-Ratelimit-Remaining: 499
Vary: Cookie
Vary: Accept-Language
X-Ratelimit-Limit: 500
Pragma: no-cache
Connection: keep-alive
Cache-Control: no-store, must-revalidate, no-cache, private
Date: Fri, 27 Nov 2015 21:39:56 GMT
Set-Cookie: csrftoken=97cc443e4aaf11dbc44b6c1fb9113378; expires=Fri, 25-Nov-2016 21:39:56 GMT; Max-Age=31449600; Path=/
Content-Length: 283
Content-Language: en
Content-Type: application/json; charset=utf-8
Expires: Sat, 01 Jan 2000 00:00:00 GMT
}
}
我正试图确定两者之间的区别;我唯一能想到的是,当我在页面之间切换时,access_token以某种方式被无效。我在登录/验证页面上做的最后一件事是使用Session.Add存储access_token,然后调用Server.Transfer移动到我调用它的页面。
有什么想法吗?谢谢
在发出请求时将令牌附加到标头。
Client.DefaultRequestHeaders.Add("access_token", "Bearer " + token);
问题最终是关于沙盒模式的。我在切换后注册了一个应用程序,我是我的沙盒中唯一的用户。因此,它可以找到我的帖子/信息,但沙盒模式就像沙盒用户是Instagram上唯一的用户一样,所以它自然不会找到其他任何东西。
事实证明,我的组织中有一个现有的注册应用程序(在切换日期之前制作)没有任何此类限制,所以我一直在使用该AppID/secret进行测试。
tl;dr:如果你是应用程序沙盒中唯一的用户,那就努力让用户进入你的沙盒。有关更多信息,请参阅他们的文章。