GoogleAdsService.Search поддерживает постраничную навигацию с фиксированным размером страницы в 10 000 строк. Результат запроса разбивается на несколько ответов, каждый из которых содержит 10 000 объектов.
В качестве примера рассмотрим следующий запрос:
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
Если ваш аккаунт содержит 50 000 ключевых слов, то в первом ответе набор результатов будет содержать 10 000 объектов GoogleAdsRow , а также токен next_page_token .
Чтобы получить следующие 10 000 строк, отправьте запрос еще раз, но обновите page_token в запросе на next_page_token из ответа. Обратите внимание, что next_page_token не заполняется в ответе, содержащем последнюю партию строк.
Наши клиентские библиотеки автоматически обрабатывают постраничную навигацию. Вам нужно лишь перебирать строки ответа. Когда все строки на текущей странице будут возвращены, клиентская библиотека автоматически получит новую страницу строк от вашего имени, пока не будет получен весь набор данных. При использовании REST вместо gRPC необходимо явно отправлять запрос для каждой новой страницы.
API Google Ads внутренне кэширует весь набор данных, поэтому последующие запросы выполняются быстрее, чем первоначальный.
Для использования кэшированных данных ваш запрос должен оставаться абсолютно неизменным в последующих запросах. Эти запросы не будут учитываться в вашей квоте, особенно для уровней доступа Explorer и Basic . Если запрос отличается и отправляется с тем же токеном страницы, возвращается ошибка.