2014-10-25 17 views
5

Sto usando l'API grafico di Facebook per eseguire la scansione delle informazioni dalla pagina pubblica. Il problema attuale è come ottenere il numero totale di post su una pagina di Facebook. Se andiamo a/{page-id}/posts, restituiremo solo 25 post pubblicati su questa pagina e nessuna informazione di riepilogo menziona i campi della pagina. Ho controllato la risposta precedente, sembra che l'unico modo sia contare il numero di elementi di ciascun collegamento in avanti e ottenere il numero totale. Ma è molto inefficiente. C'è qualche metodo che può ottenere direttamente il post totale su una pagina diversa da FQL?Come ottenere il numero totale di post in una pagina Facebook con Graph API?

risposta

1

Facebook non conta attivamente il numero di post di una pagina; a seconda della pagina potrebbe essere un numero astronomico.

Si dovrebbe ottenere tutti i messaggi e contare attraverso di loro da soli. Vorrei usare qualcosa di simile.

{PAGE}/posts?fields=id&limit=250 

Restituirà il set di dati più piccolo possibile. Non puoi andare oltre i 250, potresti farlo con FQL ma non con la v2.1. Inoltre, non si desidera FEED perché si tratta di un'aggregazione dei post della pagina e dei post creati sulla pagina da altri utenti. Questo restituirà un oggetto come questo.

{ 
"data" : [ 
    PostData 
    ... ], 
"paging" : { 
    ... 
    "next" : CursorURL 
} 
} 

Questo è l'URL cursore in modo che si può fare un passo verso il basso i gruppi di 250 messaggi in ordine cronologico inverso.

È possibile eseguire il collegamento del conteggio incrementando 250 ogni volta che si ottiene un nuovo cursore che restituisce anche più post. Dovrai solo contare e aggiungere i risultati nel set con il 2 ° all'ultimo cursore poiché l'ultimo cursore restituirà un array di dati vuoto.

+0

Il limite massimo è 100 per i post. Non so da dove hai preso il 250. – Noah

+1

@Noah Era 250, ma ora è 100, e se ne metti più di 100 ti darà effettivamente un errore invece di limitarti a 100. –

0

Puoi provare ad aggiungere /page/posts?limit=1000 ma non sono sicuro che funzionerà. Puoi anche provare a utilizzare /page/feed per vedere se ottiene i risultati desiderati. Se nessuna di queste cose funziona, è molto probabile che non sia possibile recuperare il numero totale di post. Inoltre, FQL sarà deprecato l'anno prossimo.

+0

questo non è possibile. Il limite massimo per i post è 100. – Noah

2
 function p_post() { 
       FB.api("/209652442394600/posts?fields=admin_creator,name&limit=250", function (response) { 
        var t = response.data.length; 
        document.getElementById('tposts').innerHTML = t; 
      }); 
      } 

funziona fino a 250 e ho usato la scorsa settimana

Problemi correlati