2013-02-14 14 views
14

Dostaję dużą liczbę komentarzy ze strony publicznej za pomocą interfejsu API Graph API na Facebooku.
Domyślnie facebook zwraca 25 komentarzy na odpowiedź i używa stronicowania. Powoduje to konieczność wielokrotnych żądań, co jest nieprzewidywalne, ponieważ wiem, że będzie dużo komentarzy.Ograniczenie parametru "limit" api grafu na Facebooku

Przeczytałem o parametrze "limit", który można przekazać, aby poprosić o określoną liczbę pozycji na odpowiedź.

Zastanawiam się, jaki jest limit tego parametru? Zakładam, że nie mogę przekroczyć limitu & = 10000.

+0

Maksymalna wartość limitu zależy od obiektu. Większość wydaje się mieć wewnętrzny limit w zakresie 250-500, ale znalazłem kilka, które powrócą do 5000 pozycji. Nie ma dokumentacji, więc będziesz musiał ciągle podnosić wartość, aż przestaniesz dostawać więcej danych. – cpilko

Odpowiedz

7

Tak, z parametrem limitu można podać liczbę wymaganych zasobów w jednym wywołaniu. domyślny limit to 25.

za przykład. jeśli chcesz 100 komentarz w jednej rozmowy na stanowisko posiadającego id POST_ID można zapytać tak:

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

Jaka jest różnica między określeniem globalnego parametru "limit" i określeniem limitu dla określonego pola? – Niv

+0

co masz na myśli przez globalny limit? – Smita

+0

Różnica między https://graph.facebook.com/POST_ID?fields=comments.limit(100) i https://graph.facebook.com/POST_ID?fields=comments&limit=100 – Niv

9

Jest inna droga do pobierania komentarzy:

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

Maksymalna wartość parametru granicznego to 500.

+4

UPDATE: Limit teraz wydaje się być 100 –

+1

źródło @ChrisHoughton? – Dejell

+0

W dniu 8 grudnia 2016 r. Nadal uzyskuję 500 wyników przy wymienianiu wszystkich członków grupy –

0

Polecam zamiast tego używać FQL.

FQL zapewnia bardziej elastyczne podejście, w którym można łączyć typy danych (posty, użytkownicy, strony itp.) Zgodnie z własnymi potrzebami. Możesz także zapytać o komentarze należące do listy opowieści, a nie tylko o ograniczenie liczby żądań.

Istnieje jednak kilka wad:
1. Istnieje limit 5000 uwag. Tutaj możesz użyć zapytania wyglądającego jak: "SELECT id, ...... Z komentarzy, ... WHERE parent_id in (1,2,3 ....) ORDER BY time LIMIT 0, 5000". Nawet jeśli podzielisz to na kilka zapytań z "LIMIT 0, 1000", "LIMIT 1000, 1000", LIMIT 2000, 1000, itd., Nigdy nie otrzymasz nic ponad 5000 komentarzy (powróci "LIMIT 5000, 1000") pusty).
2. Wszystkie rzeczywiste żądania przesłane na serwer Facebooka są liczone jako jedna prośba. Możesz wysłać coś, co w rzeczywistości jest kombinacją żądań, zostanie to policzone jako wiele żądań.
3. Facebook nie lubi dużych zamówień. Możesz skończyć się blokowaniem przez krótszy czas (minuty -> godziny, nie dni). Jeśli tak się stanie, wykonaj na nim działanie.

+7

FQL jest obecnie przestarzałe. Wersje po wersji 2.0 już go nie obsługują. – ecdeveloper

0

Myślę, że to zmieniło. Dla/feed? Dostaję tylko 200-225 wpisów, ale dla komentarzy otrzymuję aż 2000 z powrotem

Powiązane problemy