获取facebook帖子的所有分享列表

时间:2012-07-15 12:30:03

标签: php facebook-graph-api

我可以使用facebook sdk获得评论列表并喜欢。但我不能 找到一种方法来获取共享帖子的所有用户的列表(我也尝试过fql)。

这是我用来获得喜欢的代码:

$facebook = new Facebook($config);

$likes = $facebook->api('/THE_POST_ID/likes',
    array('limit'=>9999999999));

3 个答案:

答案 0 :(得分:4)

在撰写本文时,Facebook Graph API允许您获取帖子的份额数。使用您的代码,它看起来如下(请注意,我没有在这里进行任何异常处理以保持示例简单):

$facebook = new Facebook($config);

// fetch the post data.
$post = $facebook->api('/THE_POST_ID/');

// fetch the count of shares.
$sharesCount = $post["shares"]["count"];

使用Graph API Explorer,您可以轻松看到。

不幸的是,API没有像“赞”和“评论”那样提供“共享”连接。有关详细信息,请参阅Post - Facebook Graph API Documentation

另一方面,有一个肮脏的黑客用于检索共享特定帖子的用户列表(仅限朋友和公开共享的人)。解决方案在另一个线程上解释:List of people who shared on facebook。但是,我绝不会建议使用该解决方案。

答案 1 :(得分:1)

是的,你可以获得facebook帖子的所有股票列表。

访问:

https://graph.facebook.com/{POST_ID}/sharedposts?access_token={ACCESS_TOKEN}

请参阅: https://developers.facebook.com/docs/graph-api/reference/v2.5/post

enter image description here

答案 2 :(得分:0)

我知道您希望通过post_id获取股票,但您是否可以通过page_id而不是post_id来寻找股票?

如果可以,那么您可以使用以下FQL来获取您正在寻找的数据。

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

然后,您可以将via_id与帖子作者(页面ID)进行比较,以确定此分享是否来自相关帖子作者。

不幸的是,数据返回时似乎存在一个错误,其中一些via_ids返回为0.在Facebook上有一张票,在此帖发布时,已经以中等优先级开放三周。我不知道这个问题是否特定于我的应用程序或影响每个人,但该查询可能会得到你想要的。