如何通过fql查询facebook对象(如相册或照片)的相似数量?

时间:2010-06-15 04:34:06

标签: facebook facebook-fql opengraph

这是一个棘手的问题,你怎么得到一个facebook对象的数量,如专辑或照片?我知道facebook有一个名为link_stat的fql表,允许你为外部网址获取相同的数量,但如果对象在facebook中,它似乎不起作用。如果您通过特定对象上的opengraph api访问喜欢的内容,它最多只返回4个喜欢该对象的用户,即使可能有几千个用户喜欢它。有线索吗?

5 个答案:

答案 0 :(得分:1)

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

你可以fql query根据object_id检索喜欢的列表然后进行计数。

答案 1 :(得分:1)

我可以通过更改隐私设置来实现此目的。如果您查询表格中的XYZ用户,它将不会返回数据,除非用户已将“可见性”设置为“朋友”(对于照片,相册,视频,链接或注释),无论您是否要求权限(来自您的申请)。

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

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

的问候, 哈伦

答案 2 :(得分: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`

答案 3 :(得分: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);

工作demo here

希望这有帮助!

答案 4 :(得分: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/