Paginar los resultados

GoogleAdsService.Search admite la paginación especificando page_size en la solicitud. Esto divide el conjunto de resultados de la consulta en varias respuestas, cada una de las cuales contiene hasta page_size una cantidad de objetos. Si no se especifica page_size, se establece de forma automática en el máximo de 10,000 filas.

A modo de ejemplo, haz lo siguiente para la siguiente consulta:

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

Si tu cuenta contiene 50,000 palabras clave y page_size está configurado como 1,000, el conjunto de resultados contendrá 1,000 objetos GoogleAdsRow en la primera respuesta, junto con un next_page_token.

Para recuperar las siguientes mil filas, vuelve a enviar la solicitud con el mismo tamaño de página, pero actualiza el page_token de la solicitud al next_page_token de la respuesta. El valor de page_size en las solicitudes posteriores puede ser diferente cada vez. Ten en cuenta que next_page_token no se propaga en la respuesta que contiene el último lote de filas.

Nuestras bibliotecas cliente controlan la paginación automáticamente. Solo debes iterar a través de las filas de la respuesta. Cuando se muestran todas las filas de la página actual, la biblioteca cliente recupera una página de filas nueva de forma automática por ti hasta que se recupere todo el conjunto de datos. Si usas REST en lugar de gRPC, debes realizar una solicitud de forma explícita por cada página nueva.

La API de Google Ads almacena en caché todo el conjunto de datos, por lo que las solicitudes posteriores son más rápidas que la inicial. Según tu caso de uso, puedes configurar page_size en cualquier valor entre 1 y 10,000. En general, para obtener un rendimiento general más rápido, usa un page_size más grande para menos recorridos de ida y vuelta.

Tu consulta debe permanecer igual en las solicitudes posteriores para aprovechar los datos almacenados en caché. Las solicitudes no contribuirán a tu cuota, en especial para el acceso básico. Si la consulta difiere y se envía junto con el mismo token de la página, se mostrará un error.