2014-05-25 15 views
20

Facebook sta progettando di abbandonare il supporto per FQL dopo V2.0 https://developers.facebook.com/docs/apps/changelog/#v2_0_fqlfacebook grafico API endpoint per ottenere "piace, azioni, commenti" per il post (s)

Il compito di seguito potrebbe essere fatto facilmente con FQL

SELECT like_info.like_count, comment_info.comment_count, share_count 
FROM stream 
WHERE post_id = "POST_ID_HERE" 

non sono in grado di trovare un sostituto per il metodo di cui sopra nel grafico di api. So che possiamo ottenere simpatie e commenti contano come

POST_ID/likes?summary=true AND 
POST_ID/comments?summary=true 

ma non sono in grado di trovare un endpoint simile per azioni.

NOTA: Non sono alla ricerca di soluzioni che tengano in ingresso URL e grafico di query API per l'apertura delle quote URL, piuttosto sto cercando di trovare una soluzione per ottenere contano azioni da parte di POST_ID

PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true) 

ho guardato.

  1. Facebook API: best way to get like, share, comment count for a page/group post?
  2. How to get Likes Count when searching Facebook Graph API with search=xxx
  3. Facebook post comment count from Graph API
  4. http://www.quora.com/Facebook-Graph-API/Facebook-Graph-API-How-to-get-the-number-of-likes-on-a-status

Il risultato dovrebbe essere qualcosa di simile:

{ 
    "data": [{ 
     "like_info": { 
     "like_count": 3506 
    }, 
     "comment_info": { 
     "comment_count": 263 
    }, 
     "share_count": 278 
    }] 
} 

Qualsiasi aiuto sarebbe molto apprezzato.

Cheers!

UPDATE: si trattava di un problema di token di accesso poiché il token che stavo utilizzando non disponeva dell'autorizzazione "read_stream".

risposta

30

Le azioni sul campo non ha bisogno del .summary(true) alla fine. Porterà sempre totale. Ma i commenti likes e ha bisogno di .summary(true)

Esempio:

[POST_ID]?fields=shares,likes.summary(true),comments.summary(true)

Versione migliorata opere con Graph Api v2.11 (aggiungere limite (0) per rimuove gli elenchi delle simpatie e commenti e ottenere solo dati di sintesi):

[POST_ID]?fields=shares,likes.summary(true).limit(0),comments.summary(true).limit(0)

questo porterà il numero totale di azioni, comm Ent e piace.

si può avere un access_token con una read_stream permesso di ottenere il conteggio dei parti.

+0

Sì che è corretto, ma che è non quello che voglio Ho bisogno del conteggio delle condivisioni per post che non è disponibile con il metodo sopra. –

+0

Scusa, ho dimenticato il resto. Cambio la risposta Prova ora. –

+0

Se osservate attentamente il risultato, vedrete che non ci sono dati di condivisione. Ha solo i dati dei Mi piace e dei commenti. https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=134039003289754_890855580941422%3Ffields%3Dshares%2Clikes.summary(true)%2Ccomments.summary(true)&version=v2.0 –

1

"https://graph.facebook.com/v2.2/PAGEid_POSTid/? fields=shares&access_token=YOUR_ACCESS_TOKEN";

Sto usando suddetti endpoint.

Sostituire $pageID e $videoID (post id) con le variabili.

"https://graph.facebook.com/v2.2/" . $pageID."_".$video->id . "/?fields=shares&access_token=YOUR_ACCESS_TOKEN";

1

ottenere commenti, condivisioni, e piace conteggio dal post:

[POST_ID]/?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)

ho incluso limit(0) per evitare che l'API da sputare i commenti reali e piace. Credo che il limite predefinito sia 25.

Si prega di notare che è anche possibile aggiungere questi campi a /feed per ottenere questi dati per tutti i messaggi sulla pagina.

[PAGE_ID]/feed?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)

Nota finale: se i dati shares manca sul ritorno, è perché il post non ha azioni. Invece di restituire "shares": {"count": 0}, la sezione di azioni sarà rimossa interamente.

5

Ricevi Mi piace, commenti e condivisioni e tutti e 3 combinati.

Controllare i miei ans: https://stackoverflow.com/a/36997725/2439715

versione migliorata(aggiungere limite (0) per rimuove elenco delle simpatie e ottenere solo sintesi):

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

'limit (0)' Esattamente quello che stavo cercando! –

Problemi correlati