Desplázate por los resultados

Puedes paginar los resultados recuperados con GoogleAdsService.Search en lugar de descargar todo el conjunto de resultados a la vez. Para obtener una descripción general de la generación de informes con la API de Google Ads, consulta la descripción general de los informes.

Search devuelve páginas fijas de hasta 10,000 filas. La configuración de page_size en SearchGoogleAdsRequest dejó de estar disponible y devuelve un error RequestError.PAGE_SIZE_NOT_SUPPORTED.

Consulta de ejemplo y paginación

Analiza 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, el conjunto de resultados contiene 10,000 GoogleAdsRow objetos en la primera respuesta, junto con un next_page_token.

Para recuperar las siguientes 10,000 filas, vuelve a enviar la solicitud, pero actualiza el page_token de la solicitud al next_page_token de la respuesta:

{
  "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..."
}

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 tienes que iterar a través de las filas de la respuesta. Cuando se devuelven todas las filas de la página actual, la biblioteca cliente recupera automáticamente una página nueva de filas en tu nombre hasta que se recupera todo el conjunto de datos. Si usas REST en lugar de gRPC, debes realizar una solicitud explícitamente para cada página nueva.

Almacenamiento en caché y vencimiento del token de página

La API de Google Ads almacena en caché internamente el conjunto de datos para que las solicitudes de página posteriores sean más rápidas que la solicitud inicial. Ten en cuenta que los valores de next_page_token tienen un tiempo de actividad (TTL) limitado y vencen si no se usan en un período breve (alrededor de dos horas). Si vence un token de página, la API muestra un error y debes iniciar una consulta nueva.

Tu consulta debe seguir siendo idéntica en las solicitudes posteriores para aprovechar los datos almacenados en caché. Las solicitudes paginadas posteriores no se consideran operaciones adicionales para tu cuota de operaciones diarias para el acceso de explorador y el acceso básico. Si la consulta difiere y se envía junto con el mismo token de página, se muestra un error.