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 los 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.

Ejemplo de consulta y paginación

Considera 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 contendrá 10,000 objetos GoogleAdsRow 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 por las filas de la respuesta. Cuando se devuelven todas las filas de la página actual, la biblioteca cliente recupera automáticamente una nueva página de filas en tu nombre hasta que se recupere todo el conjunto de datos. Si usas REST en lugar de gRPC, debes realizar una solicitud de forma explícita para cada página nueva.

Almacenamiento en caché y vencimiento de tokens de página

La API de Google Ads almacena en caché el conjunto de datos de forma interna para que las solicitudes de páginas 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 un token de página vence, la API devuelve un error y debes iniciar una consulta nueva.

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