3

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

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

$facebook = new Facebook($config);

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

3 回答 3

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 文档

另一方面,检索分享特定帖子的用户列表(仅限朋友和公开分享的人)有一个肮脏的技巧。该解决方案在另一个线程上进行了解释:在 facebook 上共享的人员列表。但是,我永远不会建议使用该解决方案。

于 2012-07-15T13:36:44.160 回答
1

是的,您可以获得 Facebook 帖子的所有共享列表。

通过访问:

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

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

在此处输入图像描述

于 2016-02-11T08:55:41.157 回答
0

我知道您希望通过 post_id 获取共享,但是您可以满足于通过 page_id 而不是 post_id 查找共享吗?

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

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

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

不幸的是,数据返回似乎存在一个错误,其中一些 via_id 返回为 0。Facebook 有一张票,在本文发布时,该票已以中等优先级开放三周。我不知道这个问题是特定于我的应用程序还是影响到每个人,但该查询可能会为您提供所需的内容。

于 2013-03-15T19:34:29.213 回答