2014-12-16 11 views
6

Podobnie jak w tytule. zrobić wniosek tak:Jak uzyskać wszystkie wyniki z odpowiedzi interfejsu API YouTube (API wyszukiwania)?

https://www.googleapis.com/youtube/v3/search?key=AIzaSyDuxczhyyvHWfxKuF3ygW9p0GWmKlvWLYc&part=id,snippet&publishedAfter=2014-12-09T00:00:00Z&publishedBefore=2014-12-11T00:00:00Z&videoCategoryId=GCSG93LXRvICYgRElZ&type=video&maxResults=50&pageToken= 

Łączny wynik jest 1000000. Ale ja po prostu można uzyskać maksymalnie 500 wyniki (strona 10, 50 wyniki/strona). Na 10 stronie nie widzę właściwości nextPageToken, aby przejść do następnej strony. ??? Nie wiem dlaczego. Jak mogę uzyskać wszystkie wyniki.

Odpowiedz

11

YouTube nakłada miękki limit wynoszący około 500. Nie ma bezpośredniego sposobu na uzyskanie czegoś więcej za pośrednictwem interfejsu API.

Pełne dane: https://code.google.com/p/gdata-issues/issues/detail?id=4282

Odpowiedni fragment:

„Nie możemy dostarczać więcej niż ~ 500 Wyniki wyszukiwania dla dowolnej kwerendy YouTube za pośrednictwem interfejsu API bez jakość wyników wyszukiwania surowo poniżających (duplikaty itp.).

Interfejs API GData v1/v2 został zaktualizowany w listopadzie, aby ograniczyć liczbę wyników wyszukiwania zwróconych do 500. Jeśli określisz indeks początkowy 500 lub więcej, nie otrzymasz żadnych wyniki:

To miało również wejść w życie dla API v3 (które używa innej metody stronicowania poprzez wyniki), ale najwyraźniej nie zostało ono wypchnięte, więc wciąż możliwe jest uzyskanie do 1000 wyników wyszukiwania w v3 - ostatnim 500 z nich jest zazwyczaj złej jakości.

Zmiana limitu od V3 do 500 wyników wyszukiwania zostanie w najbliższym czasie wypchnięta. Po pobraniu 500 wyników nie będzie już następnejPageTokens.

Rozumiem, że suma zwrotów, które są zwracane, jest znacznie wyższa niż 500 we wszystkich tych przypadkach, ale to nie jest to samo, co powiedzenie, że możemy skutecznie zwrócić wszystkie możliwe wyniki w wysokości X milionów. To oznaczało, jako oszacowanie całkowitej wielkości zestawu filmów pasujących do zapytania i zwykle nie jest bardzo przydatny „

Zaktualizowany. - Jak obejść 500 wynik max miękkiego limitu

użytku Filtry "publishedAfter" i "publishedBefore" dzielą zapytanie na pętle zapytań według dnia/tygodnia/miesiąca, dopóki nie zostaną zwrócone żadne wyniki. Każde okresowe zapytanie powinno zwracać mniej niż 500 wyników, ale otrzymasz je wszystkie.

+0

Dzięki tak dużo @john. rozglądałem się wiele dni, ale nie mógł znaleźć odpowiedź. Dziękuję. –

+0

jesteś mile widziany. Należy zaznaczyć tę odpowiedź pożytecznego. – johnh10

Powiązane problemy