GoogleAdsService.Search
obsługuje stronicowanie, podając w żądaniu parametr page_size
.
Spowoduje to podział wyników zapytania na wiele odpowiedzi, z których każda zawiera do page_size
liczby obiektów. Jeśli wartość page_size
nie jest określona, jest automatycznie ustawiana na maksymalną liczbę 10 tys. wierszy.
Przykład dla następującego zapytania:
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, a parametr page_size
ma wartość 1,000
, zestaw wyników będzie zawierał w pierwszej odpowiedzi 1000 obiektów GoogleAdsRow
oraz next_page_token
.
Aby pobrać następny 1000 wierszy, wyślij żądanie jeszcze raz z tym samym rozmiarem strony, ale zmień page_token
żądania na next_page_token
w odpowiedzi. Wartość page_size
w kolejnych żądaniach może być za każdym razem inna. Pamiętaj, że w odpowiedzi zawierającej ostatnią grupę wierszy nie ma wartości next_page_token
.
Nasze biblioteki klienta automatycznie obsługują stronicowanie. Musisz tylko iterować poszczególne wiersze odpowiedzi. Po zwróceniu wszystkich wierszy z bieżącej strony biblioteka klienta automatycznie pobiera w Twoim imieniu nową stronę z wierszami, dopóki nie zostanie pobrany cały zbiór danych. Jeśli używasz REST zamiast gRPC, musisz jawnie wysyłać żądanie do każdej nowej strony.
Interfejs Google Ads API zapisuje w pamięci podręcznej cały zbiór danych, dzięki czemu kolejne żądania są szybsze niż pierwsze. W zależności od przypadku użycia możesz ustawić dla parametru page_size
dowolną wartość z zakresu od 1 do 10 tys. Ogólnie, aby uzyskać szybszą ogólną wydajność, użyj większego page_size
, aby zmniejszyć liczbę transferów w obie strony.
Aby skorzystać z danych przechowywanych w pamięci podręcznej, w kolejnych żądaniach zapytanie musi być dokładnie takie samo. Żądania nie będą się wliczały do Twojego limitu, zwłaszcza w przypadku dostępu podstawowego. Jeśli zapytanie się różni i zostanie wysłane wraz z tym samym tokenem strony, zostanie zwrócony błąd.