Puedes desplazarte por 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. Configurar page_size en SearchGoogleAdsRequest dejó de estar disponible y muestra un error RequestError.PAGE_SIZE_NOT_SUPPORTED.
Ejemplo de consulta y paginación
Considera la siguiente búsqueda:
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 objeto 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 completa en la respuesta que contiene el último lote de filas.
Nuestras bibliotecas cliente controlan la paginación automáticamente. Solo tienes que iterar 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 recupera todo el conjunto de datos. Si usas REST en lugar de gRPC, debes realizar una solicitud explícita para cada página nueva.
Almacenamiento en caché y vencimiento del token de página
Internamente, la API de Google Ads almacena en caché 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 corto (alrededor de dos horas). Si un token de página caduca, la API devuelve un error y debes iniciar una nueva búsqueda.
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 búsqueda difiere y se envía junto con el mismo token de página, se devuelve un error.