我可以使用facebook sdk获得评论列表并喜欢。但我不能 找到一种方法来获取共享帖子的所有用户的列表(我也尝试过fql)。
这是我用来获得喜欢的代码:
$facebook = new Facebook($config);
$likes = $facebook->api('/THE_POST_ID/likes',
array('limit'=>9999999999));
答案 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
答案 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上有一张票,在此帖发布时,已经以中等优先级开放三周。我不知道这个问题是否特定于我的应用程序或影响每个人,但该查询可能会得到你想要的。