2014-09-12 53 views
0

我必须将某些FQL转换为Graph2.1 http请求。通过FB图表中的页面获得总帖子2.1

的FQL

select post_id, likes from stream where source_id = {page_username} and filter_key='owner' limit 1000

这将返回后IDS和喜欢该职位的任何页面,我可以为{} PAGE_USERNAME进入。喜欢是一个包含“计数”键值对的数组。

问题是当我使用新的2.1我无法得到喜欢的帖子总数。

GET /v2.1/{page_username}?fields=posts{id,likes} HTTP/1.1 
Host: graph.facebook.com 

我只能得到一个喜欢帖子的用户数组。问题在于分页,因此它不是一个完整的列表。

参考文献说有一个“total_count”字段。 Facebook Graph Reference

GET /v2.1/{page_username}?fields=posts{id,likes{total_count}} HTTP/1.1 
Host: graph.facebook.com 

但这返回错误

“错误”:{ “消息”:, “类型”: “(#100)未知字段TOTAL_COUNT。”: “OAuthException”, “代码”:100 }

我如何能得到的只是像计数后的任何想法?

+0

在您的研究有什么进展?我也有同样的问题。 – angelcervera 2014-09-21 21:30:44

+0

不是。看来FB想要限制他们的工作负荷。我在C#中工作,所以我现在只是采取所有的数据,使用LINQ到JSON来查询和计算喜欢。考虑到使用FQL这么容易,这种痛苦是种痛苦。 – 2014-09-22 14:05:07

+0

刚发布并回答。希望它有帮助 – 2014-10-20 16:31:54

回答

4

所以我找到了简单的方法来获得答案。

GET /v2.1/{page_username}?fields=posts{id,likes.summary(true).filter(stream)} HTTP/1.1 
Host: graph.facebook.com 

通过后 “喜欢” 添加“总结(真)”“.filter(流)”我现在得到以下JSON

{... 
    "likes": { 
     "data": [ .... ] 
     "paging": { .... } 
     "summary": { 
      "total_count": 12345 
     } 
    } 
} 

这也工作评论

{page_username}?fields=posts{id,comments.summary(true).filter(stream)} 

获取与摘要和总数相同的结构。

“.summary(true)”将在JSON中获得摘要键。

“.filter(流)”将确保您获得所有评论/点数。如果缺少它,则不会计算由于其“顶级报道”值低而决定“隐藏”的节点。

在API参考中,这些修饰符仅在“/ {object-id}/comments”部分中列出,但对喜欢和评论都适用。

参考: https://developers.facebook.com/docs/graph-api/reference/v2.1/object/comments

+1

它完美的作品。 – 2014-11-05 10:25:22

相关问题