2013-02-14 17 views
14

Sto recuperando una grande quantità di commenti da una pagina pubblica utilizzando l'API Graph di Facebook.
Per impostazione predefinita, Facebook restituisce 25 commenti per risposta e utilizza il paging. Ciò causa la necessità di richieste multiple, il che è uneccesery poiché so che ci saranno molti commenti.Il limite del parametro "limite" del grafico di Facebook

Ho letto sul parametro "limite" che puoi passare per chiedere una certa quantità di articoli per risposta.

Mi chiedevo, qual è il limite di tale parametro? Suppongo di non poter superare il limite & = 10000.

+0

Il valore limite massimo dipende dall'oggetto. La maggior parte sembra avere un limite interno nell'intervallo 250-500, ma ne ho trovato alcuni che restituiscono fino a 5000 voci. Non c'è documentazione, quindi dovrai solo continuare ad aumentare il valore finché non smetti di ottenere più dati. – cpilko

risposta

7

sì, con parametro limite è possibile passare il numero di determinate risorse che si desidera in una chiamata. il limite predefinito è 25.

per es. se si desidera 100 commenti in una chiamata per un posto aver id POST_ID, è possibile interrogare in questo modo:

https://graph.facebook.com/POST_ID?fields=comments.limit(100) 
+0

Qual è la differenza tra specificare un parametro "limite" globale e specificare il limite per un determinato campo? – Niv

+0

cosa intendi con limite globale? – Smita

+0

La differenza tra https://graph.facebook.com/POST_ID?fields=comments.limit(100) e https://graph.facebook.com/POST_ID?fields=comments&limit=100 – Niv

9

C'è un modo diverso per i commenti che vanno a prendere:

https://graph.facebook.com/<PAGE_ID>_<POST_ID>/comments?limit=500 

Il valore massimo per il parametro limite è 500.

+4

UPDATE: Il limite ora sembra essere 100 –

+1

sorgente @ChrisHoughton? – Dejell

+0

A partire dall'8/12/16 ottengo ancora 500 risultati quando elenco tutti i membri di un gruppo –

0

Si consiglia di utilizzare invece FQL.

FQL offre un approccio più flessibile in cui è possibile combinare tipi di dati (post, utenti, pagine, ecc.) A piacere. Puoi anche eseguire query per i commenti appartenenti a un elenco di storie anziché solo una limitando il numero di richieste ancora di più.

Esistono tuttavia un paio di inconvenienti:
1. C'è un limite di 5000 commenti. Qui si dovrebbe usare una query che assomiglia a qualcosa di simile: "ID SELECT, ...... FROM comments, ... WHERE parent_id in (1,2,3 ....) ORDER BY tempo LIMIT 0, 5000". Anche se è stato diviso in più query con "LIMIT 0, 1000", "LIMIT 1000, 1000", LIMIT 2000, 1000, ecc., Non si otterrebbe mai più di 5000 commenti ("LIMIT 5000, 1000" restituirebbe vuoto).
2. Tutte le richieste reali fatte sul server di Facebook conta come una richiesta. È possibile inviare qualcosa che è in realtà una combinazione di richieste, questo verrà conteggiato come più richieste.
3. A Facebook non piacciono le richieste pesanti. Si può finire con ottenere bloccato per un periodo di tempo più breve (minuti -> ore, non giorni). Se ciò accade, agisci su di esso.

+7

FQL è ora deprecato. Le versioni successive alla v2.0 non la supporteranno più. – ecdeveloper

0

Penso che abbiano cambiato questo. Per/feed? Ricevo solo 200-225 post, ma per i commenti ottengo fino al 2000 indietro

Problemi correlati