使用Instagram API我需要获得喜欢特定媒体的用户列表。
以下调用应根据文档返回所有用户的列表:https://api.instagram.com/v1/media/555/likes?access_token=ACCESS-TOKEN
但是,我只有120个用户没有分页参数。
有没有办法继续请求其余的?
如果您需要代码:
String requestLikes = "https://api.instagram.com/v1/media/" + mediaID + "/likes?access_token=" + access_token + "&count=0";
// Create a request for the URL.
request = WebRequest.Create(requestLikes);
// Get the response.
response = request.GetResponse();
//Remaining calls
AddOrUpdateAppSettings("remainingCalls", response.Headers["X-Ratelimit-Remaining"]);
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
reader = new StreamReader(dataStream);
// Read the content.
responseFromServer = reader.ReadToEnd();
答案 0 :(得分:4)
不幸的是,他们只提供最新的120个喜欢的最新订单,没有分页。您可以通过请求照片然后喜欢它来测试这一点,并且您会看到您的帐户位于列表顶部。
唯一的解决方法是设置一个作业,以便在首次发布照片后不久开始定期缓存喜欢。由于您总是获得最新的120,因此您可以通过这种方式获得最新的120。您可以使用实时api为用户创建订阅,并在用户发布新照片时获取ping,然后开始缓存喜欢。建议采用衰减率 - 可能会在发布后的第一个小时缓存几次,然后越久越不频繁。