2011-01-25 5 views
40

ho trovato a Facebook commenti utilizzando:Recupera Commenti Facebook post utilizzando Graph API

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

Risulta solo 2 dei 15 commenti, e senza count informazioni.

{ 
    "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" 
     } 
    ] 
} 

Qualcuno sa perché solo 2 commenti?

Inoltre, desidero recuperare i commenti (numero predefinito) o recuperare i commenti con il mio numero limite e ottenere il conteggio dei commenti. Qualche idea? (Si prega di utilizzare Graph API).

+0

Ciao Jeaffrey, potresti fornire un post di esempio con questo comportamento? Ho controllato diversi post e l'API restituisce sempre tutti i commenti. Assicurati di fornire il corretto 'Post_ID' – Bartek

+1

@JeaffreyGilbert come cani ottengono Post_ID per ottenere commenti per quel pls. suggerisco, io uso la stessa funzionalità nella mia applicazione –

risposta

37

è necessario chiamare da una richiesta sicura https e fornire un access_token:

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

EDIT:
Aggiunto l'oggetto dal documento post. prova a fare clic sulla connessione comments e quindi rimuovi lo access_token e prova a vedere la differenza.

+0

Does access_token ha bisogno di fb app? Non voglio che le persone debbano prima autorizzare la mia app, tranne che vogliono inserire un commento. Sono nella giusta direzione? –

+4

@Jeafrey Gilbert: finché commentano qualcosa che possiedi, non devi autorizzare la tua app o gestirla. Devi solo essere autorizzato ... quindi il 'access_token' è il tuo – ifaour

+1

no, non sapresti se è qualcosa che possiedi se non accedi. Penso che abbia bisogno di creare un ID app e chiedere all'utente di accedere e autorizzare prima. –

0

Provare ad autenticarsi tramite Login app (http://developers.facebook.com/docs/authentication) e quindi chiamare GraphAPI con access_token prarameter.

0

Si può fare qualcosa di simile per evitare l'intero numero di problemi di commenti:

  1. Prendi dell'oggetto (a post is considered an object in the Graph API) ID-mi pare di capire dalla tua domanda, è già in possesso?
  2. Creare un Comments Social Plugin con questo ID e ottenere il codice per esso.
  3. Incorpora il codice nel tuo sito.

Ciò comporterà tutti i commenti per questo oggetto.

per ottenere il numero di commenti per oggetto, è possibile eseguire un fql query, qualcosa di simile:

SELECT comments FROM stream WHERE post_id = [yourpostid]

Ciò restituirà nei commenti serie sotto il conteggio parametro il numero di conta per questo oggetto.

+0

come posso ottenere post_id per ottenere commenti, pls. suggeriscimi! –

+1

@HarshalKalavadiya Utilizzare questo snippet per verificare lo sviluppo var body = 'Reading JS SDK documentation'; FB.api ('/ me/feed', 'post', {messaggio: corpo}, funzione (risposta) { if (! Risposta || response.error) { avviso ('Errore occorso'); } else { alert ('Post ID:' + response.id); } }); –

4

Al fine di ottenere il conteggio Like e il conteggio comment allora avete bisogno di utilizzare una combinazione del PostOwnerID e PostID non solo il PostID

Così, per il vostro esempio sarebbe:

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

Ancora una volta, come menzionato in alcune delle altre risposte, è necessario utilizzare il metodo https insieme a un auth_token

1

Come controllo di integrità, si dispone dell'autorizzazione "read_stream"? Riesco a vedere i commenti completi con il mio token di accesso che utilizza "read_stream".Come già detto da altre persone, è necessario utilizzare HTTPS e token di accesso, nonché ...

0

commenti Seleziona qui torrente dove post_id = [yourpostid] non deve lavorare in questo caso ..

l'id che viene restituito dopo aver fatto correttamente una call graph per postare sulla bacheca di un utente (usando access_token di un'applicazione) è del modulo abcdef_qwerty (underscore seperated id) dove l'id post che è mappato nel post_id della tabella dei commenti è del formato " lmnop "..

per ottenere i conteggi di like e commenti su questo ID post del modulo" abcdef_qwerty "facendo una chiamata al grafico con toh di accesso generato dall'app sembra essere il unica soluzione ..

qualcosa di simile: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx

+0

Come posso ottenere l'ID di 100002619172565_117323155031656 per ottenere tutti i commenti? –

+0

Ottieni questo in risposta alla pubblicazione sulla bacheca dell'utente utilizzando l'API grafico – mjs

1

C'è una parola JUGAAR in urdu significa che, trovando una via d'uscita, solo per ottenere il lavoro fatto. Quindi per uno scopo simile ho fatto questo JUGAAR, spero che aiuti.

$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"; 
} 

Tra l'altro io sono anche nuovi a questa roba Fb, Cerco aiuto per inviare commenti. Quando provo a utilizzare graph.api./id/comments?access_token=sdfsfsdf & message = "D", restituisce comunque i commenti per l'id invece di postare.

3

Ho riscontrato lo stesso problema con i commenti. Il problema era che stavo usando un token di accesso per un utente di test. Poiché gli utenti di test non hanno accesso ad altre informazioni sugli utenti FB, sono stati mostrati solo i commenti delle pagine.

-1

Risulta solo 2 dei 15 commenti

Aggiungere un parametro limite alla URL:

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

Questo dovrebbe mostrare tutti i commenti.

0

dopo il login con successo chiamare questo metodo facebookComments()

parameters.putString ("messaggio" "campi",); ............. // È 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(); 
    }