Facebook计划在V2.0之后放弃对FQL的支持https://developers.facebook.com/docs/apps/changelog/#v2_0_fql
使用FQL可以轻松完成以下任务
SELECT like_info.like_count, comment_info.comment_count, share_count
FROM stream
WHERE post_id = "POST_ID_HERE"
我无法在图api中找到上述方法的替代品 . 我知道我们可以得到喜欢和评论
POST_ID/likes?summary=true AND
POST_ID/comments?summary=true
但我无法找到类似的股票终点 .
注意:我不是在寻找能够获取URL输入和查询图形api的解决方案,而是寻找通过POST_ID获取共享计数的解决方案
PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true)
我看过了 .
-
Facebook API: best way to get like, share, comment count for a page/group post?
-
How to get Likes Count when searching Facebook Graph API with search=xxx
结果应该是这样的:
{
"data": [{
"like_info": {
"like_count": 3506
},
"comment_info": {
"comment_count": 263
},
"share_count": 278
}]
}
任何帮助将受到高度赞赏 .
干杯!
UPDATE :这是一个访问令牌问题,因为我使用的令牌没有"read_stream"权限 .
4 回答
"https://graph.facebook.com/v2.2/PAGEid_POSTid/? fields=shares&access_token=YOUR_ACCESS_TOKEN";
我正在使用上面提到的 endpoints .
用变量替换
$pageID
和$videoID
(post id) ."https://graph.facebook.com/v2.2/" . $pageID."_".$video->id . "/?fields=shares&access_token=YOUR_ACCESS_TOKEN";
字段共享最后不需要
.summary(true)
. 它总会带来总数 . 但likes
和评论确实需要.summary(true)
例:
[POST_ID]?fields=shares,likes.summary(true),comments.summary(true)
Improved version 适用于Graph Api v2.11(添加限制(0)以删除喜欢和评论列表并仅获取摘要数据):
[POST_ID]?fields=shares,likes.summary(true).limit(0),comments.summary(true).limit(0)
这将带来股票,评论和喜欢的总数 .
您可能拥有一个具有
read_stream
权限的access_token来获取共享计数 .获得喜欢,评论和分享以及所有3个组合 .
检查我的答案:https://stackoverflow.com/a/36997725/2439715
Improved version (添加限制(0)以删除喜欢列表并获取摘要):
从帖子中获取评论,分享和喜欢的数量:
[POST_ID]/?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
我已经包含
limit(0)
以防止API泄露实际的评论和喜欢 . 我相信默认限制是25
.请注意,您还可以将这些字段添加到
/feed
以获取页面上所有帖子的此数据 .[PAGE_ID]/feed?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
Final note :如果返回时缺少
shares
数据,那是因为 the post has no shares . 而不是返回"shares": {"count": 0}
,股票部分将是 removed entirely .