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