获取喜欢 Instagram 特定媒体的用户列表

Mar*_*ion 3 c# instagram

使用 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();
Run Code Online (Sandbox Code Playgroud)

Cal*_*ski 5

不幸的是,他们只按从新到旧的顺序提供最新的 120 个赞,没有分页。您可以通过请求照片然后点赞来测试这一点,您会看到您的帐户位于列表顶部。

唯一的解决方法是设置一个作业,在照片首次发布后不久开始定期缓存喜欢的内容。由于您总是获得最新的 120 个,因此您可以通过这种方式获得它们。您可以使用实时 api 为用户创建订阅,并在您的用户发布新照片时获得 ping,然后开始缓存喜欢的内容。建议采用衰减率 - 可能在发布后的第一个小时缓存几次,然后随着时间的推移越来越少。