Язык запросов Google Рекламы поддерживает разбивку по страницам, указав в запросе page_size
. Это разобьет набор результатов запроса на несколько ответов, каждый из которых будет содержать объекты размером до page_size
. Если page_size
не указан, автоматически устанавливается максимальный размер страницы в 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 ключевых слов и для page_size
установлено значение 1,000
, набор результатов будет содержать 1000 объектов GoogleAdsRow
в первом ответе, а также next_page_token
. Чтобы получить следующую тысячу строк, просто отправьте запрос еще раз с тем же размером страницы, но обновите page_token
запроса на next_page_token
ответа. Значение page_size
в последующих запросах может каждый раз быть разным.
Наши клиентские библиотеки автоматически обрабатывают подкачку. Вам нужно только перебирать строки ответа. Когда все строки на текущей странице будут возвращены, клиентская библиотека будет автоматически получать новую страницу строк от вашего имени, пока не будет получен весь набор данных. Если вы используете REST вместо gRPC, вы должны явно запрашивать каждую новую страницу.
Google Ads API внутренне кэширует весь набор данных, поэтому последующие запросы выполняются быстрее, чем первый запрос. В зависимости от вашего варианта использования вы можете установить для page_size
любое значение от 1 до 10 000. В общем, для повышения общей производительности вам следует использовать больший page_size
из-за меньшего количества циклов ответов.
Ваш запрос должен оставаться неизменным в последующих запросах, чтобы можно было использовать преимущества кэшированных данных; запросы не будут способствовать увеличению вашей квоты, особенно для базового доступа . Если запрос отличается и он отправляется вместе с токеном страницы, это приведет к ошибке.