2014-05-25 98 views
20

Facebook正计划V2.0后放弃对FQL支持https://developers.facebook.com/docs/apps/changelog/#v2_0_fqlFacebook的图形API端点“喜欢,分享,评论”的博文

下面的任务可以很容易地与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为URL股,解决方案,而我在看寻找解决方案,使股POST_ID

PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true) 

我已经看过数。

  1. Facebook API: best way to get like, share, comment count for a page/group post?
  2. How to get Likes Count when searching Facebook Graph API with search=xxx
  3. Facebook post comment count from Graph API
  4. http://www.quora.com/Facebook-Graph-API/Facebook-Graph-API-How-to-get-the-number-of-likes-on-a-status

结果应该是这样的:

{ 
    "data": [{ 
     "like_info": { 
     "like_count": 3506 
    }, 
     "comment_info": { 
     "comment_count": 263 
    }, 
     "share_count": 278 
    }] 
} 

任何帮助将是非常赞赏。

干杯!

UPDATE:这是访问令牌问题,因为我用的是没有“read_stream”许可令牌。

回答

30

该字段共享最后不需要.summary(true)。它总会带来总数。但likes和评论确实需要.summary(true)

例子:

[POST_ID]?fields=shares,likes.summary(true),comments.summary(true)

改进版作品与图形API V2.11(增加限制(0),以消除喜欢的名单和意见,只得到汇总数据):

[POST_ID]?fields=shares,likes.summary(true).limit(0),comments.summary(true).limit(0)

这将带来股份总数,COMM ents和喜欢。

您可能拥有access_token并获得read_stream权限以获取份数。

+0

是的,这是正确的,但是这是不是我想要的。我需要上述方法不可用的发布的份额。 –

+0

对不起,我忘了其余的。我改变了答案。现在试试。 –

+0

如果仔细观察结果,您会看到没有共享数据。它只有喜欢和评论数据。 https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=134039003289754_890855580941422%3Ffields%3Dshares%2Clikes.summary(true)%2Ccomments.summary(true)&version=v2.0 –

1

"https://graph.facebook.com/v2.2/PAGEid_POSTid/? fields=shares&access_token=YOUR_ACCESS_TOKEN";

我正在使用上面提到的端点。

用您的变量替换$pageID$videoID(发帖ID)。

"https://graph.facebook.com/v2.2/" . $pageID."_".$video->id . "/?fields=shares&access_token=YOUR_ACCESS_TOKEN";

1

获得评论,股票,并从后喜欢数:

[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)

最后一点:如果shares数据丢失的回报,这是因为的文章没有股。而不是返回"shares": {"count": 0},股份部分将完全删除

5

获取喜欢,评论和共享,以及所有3个组合。

检查我的答案:https://stackoverflow.com/a/36997725/2439715

改进版本(添加限制(0),以消除喜欢的列表,并获得唯一的摘要)

114916098537132_1265715836790480?fields=shares,likes.limit(0).summary(true),comments.limit(0).summary(true) 
+1

'limit(0)'正是我在找的东西! –

相关问题