List of people who shared on facebook

2019-01-10 12:50发布

I've been scouring the docs for a while now and can't seem to find a way to accomplish this. The information is available publicly (on a facebook page ... the link says "View all # shares") but I can't seem to find a way to access this info either via FQL or the graph API.

I know I can get a list of likes for a given post:

https://graph.facebook.com/87236249496_134765166623967/likes

The goal is to get a list of people who've shared -- but there doesn't seem to be the same sort of thing for shares. Am I missing something?

5条回答
一纸荒年 Trace。
2楼-- · 2019-01-10 13:34

I know you're looking to get at shares through the post_id, but can you settle for finding shares by page_id instead of post_id?

If you can, then you can use the following FQL to get the data you're looking for.

SELECT via_id, created_time, owner_comment
FROM link
WHERE owner = me()

You can then compare via_id against the posts author (page ID) to determine if this share came from the post author in question.

Unfortunately, there seems to be a bug with the data return where some of the via_ids come back as 0. There is a ticket in with Facebook which, at the time of this post, has been open for three weeks at medium priority. I have no idea if this issue is specific to my app or affects everyone, but that query might get you what you want.

查看更多
爷、活的狠高调
3楼-- · 2019-01-10 13:37

You can do it via "graph.facebook.com/OBJECT_ID/sharedposts" connection:

enter image description here

I figure it out this connection via metadata=1 parameter:

enter image description here

查看更多
神经病院院长
4楼-- · 2019-01-10 13:42

Tye this link: https://graph.facebook.com/134765166623967/sharedposts (with a valid access_token)

The id in the link is the wallpost id (87236249496_134765166623967) minus the page id (87236249496) and minus the underscore.

You'll also need the read_stream permission

查看更多
迷人小祖宗
5楼-- · 2019-01-10 13:44

Go to... http://www.facebook.com/ajax/shares/view/?target_fbid=10154612868272801&__a=1

10154612868272801 is Facebook story ID, __a stands for asynchronous.

You will see large amount of text/JSON, it is basically HTML & JS for little popup window. There is portion of text like hovercard.php?id=# where # is Facebook user ID, using preg_match_all you then get all of the user ID's who shared that post.

Eg: 100000541151971 (Eric) and 9204448 (Courtney)...

Unfortunately, you must be logged into Facebook to do first step, figure it out :)

查看更多
仙女界的扛把子
6楼-- · 2019-01-10 13:44

I think you can get the share_count from stream table by FQL query just like


SELECT type, source_id, share_count, permalink, description, post_id, actor_id, target_id, message , share_count 
FROM stream
WHERE filter_key = 'others' and post_id = '87236249496_134765166623967'

you can test it https://developers.facebook.com/tools/explorer/

Note: you have to take the read_stream permissions as explained here

查看更多
登录 后发表回答