GoogleAdsService.Search obsługuje stronicowanie w przypadku stałych rozmiarów stron wynoszących 10 000 wierszy. Zbiór wyników zapytania jest dzielony na wiele odpowiedzi, z których każda zawiera 10 tys. obiektów.
Rozważmy na przykład to zapytanie:
SELECT
ad_group.id,
ad_group_criterion.type,
ad_group_criterion.criterion_id,
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD
Jeśli Twoje konto zawiera 50 tys. słów kluczowych, w pierwszej odpowiedzi zestaw wyników będzie zawierać 10 tys. GoogleAdsRow obiektów wraz z next_page_token.
Aby pobrać kolejne 10 tys. wierszy, ponownie wyślij żądanie, ale zaktualizuj page_token w żądaniu na next_page_token w odpowiedzi. Pamiętaj, że w odpowiedzi zawierającej ostatnią partię wierszy pole next_page_token nie jest wypełnione.
Nasze biblioteki klienta automatycznie obsługują stronicowanie. Wystarczy, że przejdziesz po wierszach odpowiedzi. Gdy wszystkie wiersze na bieżącej stronie zostaną zwrócone, biblioteka klienta automatycznie pobierze nową stronę wierszy w Twoim imieniu, dopóki nie zostanie pobrany cały zbiór danych. Jeśli używasz REST zamiast gRPC, musisz wysłać żądanie dla każdej nowej strony.
Interfejs Google Ads API wewnętrznie buforuje cały zbiór danych, więc kolejne żądania są szybsze niż pierwsze.
W kolejnych żądaniach zapytanie musi pozostać dokładnie takie samo, aby można było korzystać z danych w pamięci podręcznej. Żądania nie będą wliczane do limitu, szczególnie w przypadku poziomu dostępu Eksplorator i poziomu dostępu Podstawowy. Jeśli zapytanie jest inne i zostanie wysłane z tym samym tokenem strony, zwracany jest błąd.