Get a list of users who have liked specific media on Instagram

≯℡__Kan透↙ 提交于 2019-12-02 01:25:46

问题


Using Instagram API I need to get a list of users who have liked specific media.

The following call should return the list of all users according to the documentation: https://api.instagram.com/v1/media/555/likes?access_token=ACCESS-TOKEN

However, I get only 120 users with no pagination parameters.

Is there any way to keep requesting the rest?

If you need the code:

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();

回答1:


Unfortunately they only provide the latest 120 likes in newest-to-oldest order with no pagination. You can test this by requesting a photo then liking it and you'll see that your account is on top of the list.

The only work around is to set up a job to periodically cache likes beginning shortly after the photo is first posted. Since you're always getting the newest 120 you can get them all that way. You can create a subscription to a user using the realtime api and get a ping when your user posts a new photo, then start caching likes. A decaying rate would be advised - maybe cache a couple times the first hour after it's posted, then less and less frequently the longer it's been.



来源:https://stackoverflow.com/questions/28013658/get-a-list-of-users-who-have-liked-specific-media-on-instagram

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!