tutorial - open graph facebook
Facebook gráfico api cuenta de comentarios (9)
Estaba teniendo el mismo problema, simplemente agregando likes.summary(true),comments.summary(true)
en el parámetro en "campos" que funcionaron para mí.
por ejemplo, utilicé https://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN&fields=story,from,story_tags,likes.summary(true),comments.summary(true)
en lugar de https://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN
También puedes agregar otros parámetros si lo deseas; separados por un,
Parece que Facebook cambió el resultado de las publicaciones, hace unas semanas fue posible leer el recuento de comentarios directamente desde la publicación.
https://graph.facebook.com/125909647492772_502974003098530
tienes algo como
...
"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
Pero ahora falta el recuento.
Hice una investigación sobre la documentación del gráfico, pero el único cambio en esa dirección parece ser que los comentarios pueden tener comentarios ahora ... y esos comentarios se cuentan en un campo llamado comment_count.
¿Todavía hay una manera de obtener el total de comentarios?
Esto funciona perfectamente conmigo:
fields=shares,created_time,comments.summary(true).limit(0)
Estos comentarios de devolución cuentan en el summary
y devuelven 0 comentarios al mismo tiempo, lo que es perfecto, ya que solo necesita la cuenta de comentarios.
Intente lo siguiente:
{
"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=="
}
}
}
entonces
int commentCount = <JsonNode Var with above data>.path("comments").path("data").size();
Aquí commentCount
dará el número de comentarios.
O para hacer menos cambios en tu código de uso, usa:
$.each(json.data,function(i,fb){
...
var commentsCount = 0
if(fb.comments!=undefined){
commentsCount=fb.comments.data.length
}
...
}
commentsCount tiene un número de comentarios para niños activos
Para obtener el recuento, agregue? Summary = 1 al final: https://graph.facebook.com/125909647492772_502974003098530/comments?summary=1
Puede obtener el número total de comentarios a través de FQL. Vea esta pregunta a continuación como referencia:
API de Facebook - recuento de comentarios a través de FQL
Aquí está la consulta que necesita: SELECT comment_info FROM stream WHERE post_id = ...
Si quieres contar todo en Facebook. (Ese número es visible para el usuario de Facebook)
Debe usar FQL (lenguaje de consulta de Facebook) en lugar de Graph API.
Referencia de lenguaje de consulta de Facebook
Esta situación debe consultar
SELECT comment_info FROM stream WHERE post_id = ...
Usted puede hacer tales solicitudes:
{pageid}/posts?fields=comments.summary(1){id}
Devolverá una lista de publicaciones que incluyen el recuento de comentarios de cada publicación. Aquí solo he devuelto el ID de comentario porque solo necesito la cantidad de comentarios por publicación, pero por supuesto puede incluir muchos otros campos:
{pageid}/posts?fields=comments.summary(1){id,message},id
summary=true
es lo que estás buscando
Consigue que los me gusta cuenten:
114916098537132_1265715836790480/likes?summary=true
Obtener comentarios contar
114916098537132_1265715836790480/comments?summary=true
Obtener acciones cuentan:
114916098537132_1265715836790480?fields=shares
Y último [combinando los 3]
114916098537132_1265715836790480?fields=shares,likes.summary(true),comments.summary(true)
Versión mejorada (agregar límite (0) para eliminar la lista de me gusta y obtener solo un resumen) :
114916098537132_1265715836790480?fields=shares,likes.limit(0).summary(true),comments.limit(0).summary(true)