Facebook graph api количество комментариев

Кажется, Facebook изменил результат сообщений, несколько недель назад можно было прочитать количество комментариев из сообщения напрямую

https://graph.facebook.com/125909647492772_502974003098530

у вас есть что-то вроде

...
"comments": {
"data": [
  {
    "id": "502974003098530_78616446", 
    "from": {
      "name": "Mathias Fritz", 
      "id": "526559276"
    }, 
    "message": "saugeil!", 
    "can_remove": false, 
    "created_time": "2013-03-26T14:58:01+0000", 
    "like_count": 1, 
    "user_likes": false
  }
], 
"paging": {
  "cursors": {
    "after": "MQ==", 
    "before": "MQ=="
  }
}, 
"count": 1

но теперь счет отсутствует.

Я провел некоторое исследование документации графика, но единственное изменение в этом направлении, похоже, заключается в том, что комментарии теперь могут иметь комментарии... и эти комментарии подсчитывают в поле с именем comment_count.

есть ли еще способ получить общее количество комментариев?

9 ответов


чтобы получить счет, добавить ?резюме=1 в конце: https://graph.facebook.com/125909647492772_502974003098530/comments?summary=1


у меня была такая же проблема, просто добавив likes.summary(true),comments.summary(true) in параметр в против "полей" работал для меня.

например, я использовал https://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN&fields=story,from,story_tags,likes.summary(true),comments.summary(true)

вместо https://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN

также вы можете добавить другие параметры, если хотите; разделенные,


summary=true это то, что вы ищете

вам нравится считать :

114916098537132_1265715836790480/likes?summary=true

получить количество комментариев

114916098537132_1265715836790480/comments?summary=true

получить количество акций:

114916098537132_1265715836790480?fields=shares

и последний [ объединение всех 3 ]

114916098537132_1265715836790480?fields=shares,likes.summary(true),comments.summary(true)

улучшенная версия (добавить ограничение (0), чтобы удалить список лайков и получить только резюме):

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

вы можете получить общее количество комментариев через FQL. См. этот вопрос ниже в качестве ссылки:

Facebook API-количество комментариев через FQL

вот запрос, который вам нужен:SELECT comment_info FROM stream WHERE post_id = ...


Если вы хотите подсчитать все на Facebook. (Это число видно для пользователя Facebook)

вы должны использовать FQL (язык запросов Facebook) вместо Graph API.

Ссылка На Язык Запросов Facebook

эту ситуацию вы должны запросить

SELECT comment_info FROM stream WHERE post_id = ...

Вы можете сделать такие запросы:

{pageid}/posts?fields=comments.summary(1){id}

он вернет список сообщений, включая количество комментариев каждого сообщения. Здесь я вернул только идентификатор комментария, потому что мне нужно только количество комментариев на пост, но, конечно, вы можете включить много других полей:

{pageid}/posts?fields=comments.summary(1){id,message},id


это отлично работает со мной:

fields=shares,created_time,comments.summary(true).limit(0)

это возвращает количество комментариев на summary и вернуть 0 комментариев в то же время, что идеально, поскольку вам нужно только количество комментариев.


или сделать меньше изменений к вам excisting код, используйте:

    $.each(json.data,function(i,fb){
    ...
       var commentsCount = 0
       if(fb.comments!=undefined){
          commentsCount=fb.comments.data.length
       }
    ...
    }

commentsCount содержит количество комментариев для активного ребенка


попробуйте следующее:

{
    "data": [
        {
            "id": "447235535389660_1226199",
            "from": {
                "name": "Harjeet Walia",
                "id": "100004980601083"
            },
            "message": "Price",
            "can_remove": false,
            "created_time": "2013-09-06T10:39:01+0000",
            "like_count": 0,
            "user_likes": false
        },
        {
            "id": "447235535389660_1226152",
            "from": {
                "name": "Shoba Dhyani Jakhmola",
                "id": "100000906896060"
            },
            "message": "baap re kitna mehnga !",
            "can_remove": false,
            "created_time": "2013-09-06T10:05:09+0000",
            "like_count": 0,
            "user_likes": false
        }
    ],
    "paging": {
        "cursors": {
            "after": "MQ==",
            "before": "NA=="
        }
    }
}

затем

int commentCount = <JsonNode Var with above data>.path("comments").path("data").size();

здесь commentCount даст количество комментариев.