Zamiast pobierać od razu cały zestaw wyników, możesz przeglądać wyniki pobrane za pomocą
GoogleAdsService.Search. Omówienie raportowania za pomocą interfejsu Google Ads API znajdziesz w artykule
Omówienie raportowania.
Search zwraca stałe strony zawierające maksymalnie 10 tys. wierszy. Ustawienie page_size w
SearchGoogleAdsRequest jest wycofane i zwraca błąd
RequestError.PAGE_SIZE_NOT_SUPPORTED.
Przykładowe zapytanie i podział na strony
Rozważ 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, zestaw wyników w pierwszej odpowiedzi będzie zawierać 10 tys.
GoogleAdsRow obiektów oraz
next_page_token.
Aby pobrać kolejne 10 tys. wierszy, ponownie wyślij żądanie, ale zaktualizuj
żądania page_token do odpowiedzi next_page_token:
{
"query": "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",
"pageToken": "CN3q9...example_token..."
}
Pamiętaj, że next_page_token nie jest wypełniany w odpowiedzi zawierającej ostatnią partię wierszy.
Nasze biblioteki klienta automatycznie obsługują podział na strony. Musisz tylko iterować po wierszach odpowiedzi. Gdy wszystkie wiersze na bieżącej stronie zostaną zwrócone, biblioteka klienta automatycznie pobierze nową stronę wierszy w Twoim imieniu, aż do pobrania całego zbioru danych. Jeśli zamiast gRPC używasz REST, musisz wyraźnie wysłać żądanie każdej nowej strony.
Buforowanie i wygaśnięcie tokena strony
Interfejs Google Ads API wewnętrznie buforuje zbiór danych, dzięki czemu kolejne żądania stron są szybsze niż żądanie początkowe. Pamiętaj, że wartości next_page_token mają ograniczony czas życia (TTL) i wygasają, jeśli nie zostaną użyte w krótkim czasie (około 2 godzin). Jeśli token strony wygaśnie, interfejs API zwróci błąd i musisz rozpocząć nowe zapytanie.
Aby korzystać z danych w pamięci podręcznej, zapytanie musi pozostać identyczne w kolejnych żądaniach. Kolejne żądania podzielone na strony nie są liczone jako dodatkowe operacje w ramach dziennego limitu operacji w przypadku dostępu eksploratora i dostępu podstawowego. Jeśli zapytanie różni się od poprzedniego i jest wysyłane z tym samym tokenem strony, zwracany jest błąd.