How to get all people who liked Facebook post?

[亡魂溺海] 提交于 2019-12-23 22:14:11

问题


I have FB post
I can click "77 people like this" and get all people I needed.
Question: is there way to get these people by FB API ?
PS I want to get 3 random names from these list so I need to have these people in JSON format


回答1:


It's easy to do with FQL. This gets you three random ids of people who liked this event

SELECT user_id FROM like WHERE object_id = 336638873112346 ORDER BY rand() LIMIT 3

If you wanted to get their names instead, you'd rewrite the query like this:

SELECT uid, name, username FROM user WHERE uid IN 
 (SELECT user_id FROM like WHERE object_id = 336638873112346 ORDER BY rand() LIMIT 3)



回答2:


I'm one of the co-founders of Kither, a platform for checking all of your Facebook stats. We have added many features which requires to fetch all of our user's posts likes.

As of August 6, 2016, FQL is deprecated.

Facebook's Graph API's still available and you can call https://graph.facebook.com/{api-version}/{post-id}/likes to get likes on posts. But remember, Facebook uses pagination on likes if there are more than 1,000 of them.

Now, In this case you'll need to call the next page url.

You'll need to call the next url unless you've got all the likes. (you won't find any next field if there are no more likes)

To get how many people have liked that post (i.e. count), you don't need to page through results. You can simply use https://graph.facebook.com/{api-version}/{post-id}/likes?summary=true and you'll get an extra field containing all likes' summary, including their count.

Same can be done with comments and recently added, reactions.



来源:https://stackoverflow.com/questions/14799280/how-to-get-all-people-who-liked-facebook-post

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