4

这是一个棘手的问题,您如何获得 Facebook 对象(例如相册或照片)的点赞数?我知道 facebook 有一个名为 link_stat 的 fql 表,它允许您获取外部 url 的点赞数,但如果对象在 facebook 内,它似乎不起作用。如果您通过特定对象上的 opengraph api 访问喜欢,它最多只会返回 4 个喜欢该对象的用户,即使可能有几千个用户喜欢它。有什么线索吗?

4

5 回答 5

1

请参阅http://developers.facebook.com/docs/reference/fql/like

您可以执行fql 查询以根据 object_id 检索喜欢的列表,然后进行计数。

于 2010-09-29T23:37:31.493 回答
1

我可以通过更改隐私设置来做到这一点。如果您查询表中的 XYZ 用户之类的用户,除非用户已将“可见性”设置为朋友(照片、相册、视频、链接或便笺),否则无论您是否请求权限,它都不会返回数据(从您的应用程序中)。

例如,我是 XYZ 用户,我喜欢我的 GHI 发布的某个链接。我使用为 Facebook 开发的应用程序并允许访问我的链接。现在,如果应用程序尝试访问我在 Facebook 上喜欢的链接,则应用程序将无法获取 GHI 发布的链接(我喜欢的),除非 GHI 已将他的链接设置为“朋友”的可见性。

如果有人需要更多帮助,请回到这个论坛。

问候,哈龙

于 2011-03-15T13:01:00.723 回答
1
# fql query
   $fql = "SELECT like_info FROM photo WHERE object_id=" . $photo_id;

   # api request
   $request = array(
    'method' => 'fql.query', 'query' => $fql
   );

  # run batch request
  $likeInfo = $facebook->api(array(
    'method' => 'fql.query', 'query' => $fql
  ));

  var_dump($likeInfo);die;
=> get like info of photo`enter code here`
于 2012-06-19T07:34:06.773 回答
1

显然,自从您第一次提出这个问题以来,答案已经发生了很大变化,但这是今天的答案。使用 Facebook Graph API 找出如何从 Facebook 获取相册中每张照片的信息:

https://graph.facebook.com/albumID/photos?fields=id,likes.summary(true),comments.summary(true)&after=XXXXXX&access_token=XXXXXX

使用 Ajax 发送 GET 请求:

$.ajax({
    dataType: "json",
    method: "GET",
    url: "https://graph.facebook.com/" + albumID + "/photos",
    data: {fields: "id,likes.summary(true),comments.summary(true)",
        limit: 100,
        after: afterStr,
        access_token: token})

变量 'afterStr' 是下一页数据的 ID。

然后以下来计算我们从 Facebook 获得的点赞和评论:

var dArr = msg.data;
var i = 0;
for (i = 0; i < dArr.length; i++) {
    like += dArr[i].likes.summary.total_count;
    comment += dArr[i].comments.summary.total_count;
}

使用 ID 将结果发布到您的 HTML 中:

$("#likeID").html(like);
$("#commentID").html(comment);

工作演示在这里

希望这可以帮助!

于 2015-08-20T00:19:26.413 回答
0

如今,如果您知道要查询的帖子类型,则可以使用 FQL。例如,如果您想知道一张照片有多少赞,您可以使用:

SELECT like_info FROM photo WHERE object_id = 414122065292107

它返回以下内容:

{
  "data": [
    {
      "like_info": {
        "can_like": true, 
        "like_count": 1354, 
        "user_likes": false
      }
    }
  ]
}

不同类型的内容存在类似的方法,但对我来说似乎不一致,因此请查看 FQL 文档。

https://developers.facebook.com/docs/reference/fql/

于 2014-01-22T16:50:07.897 回答