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.