You can page through results retrieved with GoogleAdsService.Search instead of downloading the entire result set at once. For an overview of reporting with the Google Ads API, see the Reporting overview .
Search возвращает страницы фиксированного размера, содержащие до 10 000 строк. Использование page_size в SearchGoogleAdsRequest устарело и приводит к ошибке RequestError.PAGE_SIZE_NOT_SUPPORTED .
Пример запроса и пагинации
Рассмотрим следующий запрос:
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 из ответа:
{
"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..."
}
Обратите внимание, что next_page_token не заполняется в ответе, содержащем последнюю группу строк.
Our client libraries handle paging automatically. You only have to iterate through the rows of the response. When all rows in the current page have been returned, the client library fetches a new page of rows automatically on your behalf until the entire dataset is retrieved. If using REST instead of gRPC, you must explicitly make a request for each new page.
Кэширование и истечение срока действия токена страницы
The Google Ads API internally caches the dataset so that subsequent page requests are faster than the initial request. Note that next_page_token values have a limited time to live (TTL) and expire if not used within a short period (around two hours). If a page token expires, the API returns an error and you must start a new query.
Your query must remain identical in subsequent requests to take advantage of the cached data. Subsequent paged requests don't count as additional operations toward your daily operation quota for Explorer access and Basic access . If the query differs and is sent along with the same page token, an error is returned.