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
даст количество комментариев.