39

我目前正在使用 Facebook graph api search 来搜索帖子

http://graph.facebook.com/search?q=iwatch&type=post&access_token=xxxxx 

它以 JSON 格式的字段返回,并用于包含给定帖子的like:count

在阅读了 7 月 10 日之后更改的开发路线图 ( https://developers.facebook.com/roadmap/ ) 后,我被指示使用summary=true参数,但我不知道如何让它与搜索一起使用?

来自路线图上的 FB 博客。

从 'comments' Graph API 连接中删除 'count' 我们正在删除 Graph API 中的 'comments' 连接上未记录的 'count' 字段。{id}/comments?summary=true如果您想要包含计数的汇总字段(现在称为“total_count”),请明确要求

我尝试了各种组合并搜索示例但没有骰子。谁能给我一些关于如何让新的 summary=true 在搜索 URL 中工作以搜索帖子的建议?

4

7 回答 7

148

在文档中找不到这个,但不需要多次调用 API。您可以在查询提要或多个帖子时使用摘要。在 fields 参数中指定此项。

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true)

这将返回这样的响应。

{
  "data": [
    {
      ....
      "summary": {
        "total_count": 56
      }
      ...
    }, 
    {
      ....
      "summary": {
        "total_count": 88
      }
      ...
    }
  ]
}

这比仅仅为了获得评论或喜欢的数量而对每个对象提出单独的请求要快得多。

于 2013-08-21T07:39:18.957 回答
21

您还可以在单​​个请求中获取所有帖子 > 评论 > 喜欢:

https://graph.facebook.com/<obj_id>/feed?fields=message,comments.limit(10).summary(true){message,from,likes.limit(0).summary(true)}

大括号是嵌套请求

这给出了以下结果:

{
    "data": [
      {
        "message": "Contents of the Post"
        "id": "123456789123456789",
        "comments": {
        "data": [
          {
            "message": "Contents of the Comment",
            "from": {
                 "name": "John Doe",
                 "id": "123456789"
            },
            "likes": {
               "data": [],
               "summary": {
                  "total_count": 14,
                  "can_like": true,
                  "has_liked": false
               }
            },
       ...
于 2016-05-27T03:51:02.980 回答
10

摘要在post对象的likes连接上

打电话

https://graph.facebook.com/POST_ID/likes?summary=true&access_token=XXXXXXXXXXXX

将有一个带有“total_count”字段的“summary”元素

于 2013-08-09T15:35:07.950 回答
8

要获取喜欢的页面数,您可以使用 fan_count 字段。

search?q=xxx&fields=fan_count&type=page
于 2016-04-21T10:07:16.893 回答
5

我像这样构建我的 API 查询,它允许我获取一次性查询:

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(25).summary(true),likes.limit(25).summary(true)
于 2014-05-29T19:01:44.593 回答
1

api已经改变。新字段名称是“粉丝数”。

https://graph.facebook.com/PAGE_ID?fields=fan_count

于 2017-05-26T10:42:21.457 回答
0

经过一番修补,我找到了一个简单的解决方案。

我发现您可以通过 Facebooks Graph API 访问 url 来获取页面的点赞数:


https://graph.facebook.com/v5.0/{page-id}?fields=fan_count&access_token={user-access-token}

您可以卷曲它以获得相同的结果。


curl -i -X GET \
 "https://graph.facebook.com/v5.0/{page-id}?fields=fan_count&access_token={user-access-token}"

(用你自己的替换page-idand user-access-token

于 2020-01-16T15:24:22.763 回答