2011-01-25 29 views
40

Traté de comentarios de Facebook usando:Recuperar Facebook Enviar comentarios Uso Gráfico API

http://graph.facebook.com/[post_id]/comments 

El resultado es solamente 2 de 15 comentarios, y sin count información.

{ 
    "data": [ 
     { 
      "id": "[post_id]", 
      "from": { 
       "name": "[name]", 
       "id": "[id]" 
      }, 
      "message": "[message]", 
      "created_time": "2011-01-23T02:36:23+0000" 
     }, 
     { 
      "id": "[id]", 
      "from": { 
      "name": "[name]", 
       "id": "[id]" 
      }, 
      "message": "[message]", 
      "created_time": "2011-01-23T05:16:56+0000" 
     } 
    ] 
} 

¿Alguien sabe por qué solo 2 comentarios?

Además, deseo recuperar los comentarios (número predeterminado) o recuperar los comentarios con mi número de límite y obtener sus comentarios. ¿Alguna idea? (Por favor use Graph API).

+0

Hola Jeaffrey, ¿podría darnos una publicación de ejemplo con este comportamiento? Revisé varias publicaciones y la API siempre devuelve todos los comentarios. Asegúrese de proporcionar el 'Post_ID' apropiado – Bartek

+1

@JeaffreyGilbert. Cómo puedo obtener un ID_post para obtener comentarios sobre esa lista. sugiérame, uso la misma función en mi aplicación –

Respuesta

37

es necesario llamar desde una petición segura https y proporcionar una access_token:

https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX 

EDIT:
Agregado el objeto del documento post. intente hacer clic en la conexión comments y luego eliminar el access_token y probar y ver la diferencia.

+0

¿Access_token necesita la aplicación fb? No quiero que las personas tengan que autorizar mi aplicación primero, excepto que quieran poner un comentario. ¿Estoy en la dirección correcta? –

+4

@Jeafrey Gilbert: mientras comentan algo que USTED posee, no tiene que autorizar su aplicación o tratar con ella. Solo necesita autorizar ... para que el 'access_token' sea suyo – ifaour

+1

no, no sabría si es algo que usted posee si no inicia sesión. Creo que necesita crear una ID de aplicación y pedirle al usuario que inicie sesión y autorice primero. –

0

Intenta autenticarse mediante el inicio de sesión en la aplicación (http://developers.facebook.com/docs/authentication) y luego para llamar a GraphAPI con access_token prarameter.

0

Usted puede hacer algo como esto para evitar todo el recuento de las cuestiones comentarios:

  1. Obtener del objeto (a post is considered an object in the Graph API) ID-como que entiendo de su pregunta, ya lo tienes?
  2. Crea un Comments Social Plugin con esta ID y obtén el código correspondiente.
  3. Incruste el código en su sitio.

Esto dará como resultado todos los comentarios para este objeto.

para obtener el recuento de comentarios por objeto, puede ejecutar una fql query, algo como esto:

SELECT comments FROM stream WHERE post_id = [yourpostid]

Esto devolverá en los comentarios gama bajo la recuento parámetro el número de cuenta para este objeto.

+0

¿cómo puedo obtener post_id para obtener comentarios, pls. ¡sugiereme! –

+1

@HarshalKalavadiya Utilice este fragmento para probar en el desarrollo var body = 'Lectura de la documentación de JS SDK'; FB.api ('/ me/feed', 'publicación', {mensaje: cuerpo}, función (respuesta) { if (! Response || response.error) { alerta ('Error'); } else { alerta ('ID de publicación:' + respuesta.id); } }); –

4

Con el fin de obtener el recuento Like y el recuento comment continuación, es necesario utilizar una combinación de la PostOwnerID y PostID no sólo el PostID

Así, por tu ejemplo sería:

https://graph.facebook.com/153125724720582_184234384932460/comments

De nuevo, como se menciona en algunas de las otras respuestas, necesita utilizar el método https junto con un auth_token

1

Como control de cordura, ¿tiene permiso "read_stream"? Puedo ver los comentarios completos con mi token de acceso que usa "read_stream".Como se ha mencionado por otras personas, usted tiene que utilizar https y el token de acceso, así ...

0

comentarios Selecciona de arroyo donde post_id [yourpostid] no funcionará en este caso ..

el id que se devuelve = después de hacer una llamada gráfica para publicar correctamente en el muro de un usuario (usando access_token de una aplicación) es de la forma abcdef_qwerty (identificación separada de subrayado) donde como el id. postal mapeado en el post_id de la tabla de comentarios es de la forma " lmnop "..

para obtener los recuentos de" me gusta "y comentarios en esta identificación de publicación de la forma" abcdef_qwerty "haciendo una llamada gráfica toh de aplicación de acceso generado token parece ser el única solución ..

algo como: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx

+0

¿cómo puedo obtener 100002619172565_117323155031656 como id para obtener todos los comentarios? –

+0

Obtienes esto en respuesta a la publicación en la pared del usuario usando la API gráfica – mjs

1

Hay una palabra JUGAAR en urdu que significa, encontrar una salida, sólo para hacer el trabajo. Entonces con el mismo propósito hice este JUGAAR, espero que ayude.

$contents = file_get_contents("http://graph.facebook.com/" . $_GET['id'] . "/likes"); 
if (substr_count($contents, 'name')>0) { 
    echo substr_count($contents, 'name') . " people like this album"; 
} 

Por cierto también soy nuevo en esto de Fb, estoy buscando ayuda para publicar comentarios. Cuando trato de usar graph.api./id/comments?access_token=sdfsfsdf & message = "D", todavía devuelve comentarios para el ID en lugar de publicar.

3

Tuve el mismo problema con los comentarios. El problema era que estaba usando un token de acceso para un usuario de prueba. Debido a que los usuarios de prueba no tienen acceso a otra información de usuarios de FB, solo se muestran los comentarios de las páginas.

-1

El resultado es solamente 2 de 15 comentarios

Añadir un parámetro límite a la URL:

http://graph.facebook.com/[post_id]/comments?limit=1000 

Esto debería mostrar todos los comentarios.

0

Después éxito Login llamar a este método facebookComments()

parameters.putString ("campos", "mensaje"); ............. // Es importante

AccessToken accessToken = AccessToken.getCurrentAccessToken(); 
    public void facebookComments() { 
     try { 
      getFriends(accessToken, new GraphRequest.Callback() { 
         public void onCompleted(GraphResponse response) { 
          Log.e("keshav", "one" + response); 
          CommonMethod.showAlert("res --> " + response, MainActivity.this); 
         } 
        } 
      ); 
     } catch (Exception e) { 
      CommonMethod.showAlert("Exception is -> " + e, MainActivity.this); 
     } 
    } 

    public void getFriends(AccessToken token, GraphRequest.Callback callback) 
    { 
     // TODO Comments Working but id return only 
     GraphRequest requestt = new GraphRequest(token, "744511125731315_751199848395776/comments", 
       null, HttpMethod.GET, callback); 
     Bundle parameters = new Bundle(); 
     parameters.putString("fields", "id");   // todo in use imp 
     parameters.putString("fields", "name");   // todo in use imp 
     parameters.putString("fields", "from");   // todo in use imp 
     parameters.putString("fields", "message");   // todo in use imp 
     requestt.setParameters(parameters); 
     requestt.executeAsync(); 
    } 
Cuestiones relacionadas