É possível percorrer os resultados recuperados com
GoogleAdsService.Search em vez de baixar todo o conjunto de resultados
de uma vez. Para uma visão geral dos relatórios com a API Google Ads, consulte a
Visão geral dos relatórios.
Search retorna páginas fixas de até 10.000 linhas. Definir page_size em
SearchGoogleAdsRequest está descontinuado e retorna um
erro RequestError.PAGE_SIZE_NOT_SUPPORTED.
Exemplo de consulta e paginação
Considere a seguinte 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
Se a conta tiver 50.000 palavras-chave, o conjunto de resultados vai conter 10.000 objetos GoogleAdsRow na primeira resposta, além de um next_page_token.
Para recuperar as próximas 10.000 linhas, envie a solicitação novamente, mas atualize o
page_token da solicitação para o next_page_token da resposta:
{
"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..."
}
Observe que next_page_token não é preenchido na resposta que
contém o último lote de linhas.
Nossas bibliotecas de cliente processam a paginação automaticamente. Você só precisa iterar pelas linhas da resposta. Quando todas as linhas na página atual são retornadas, a biblioteca de cliente busca automaticamente uma nova página de linhas em seu nome até que todo o conjunto de dados seja recuperado. Se você usar REST em vez de gRPC, será necessário fazer uma solicitação explícita para cada nova página.
Armazenamento em cache e expiração do token de página
A API Google Ads armazena em cache internamente o conjunto de dados para que as solicitações de página subsequentes sejam mais rápidas do que a inicial. Os valores de next_page_token têm um tempo de vida (TTL) limitado e expiram se não forem usados em um curto período (cerca de duas horas). Se um token de página expirar, a API vai retornar um erro, e você precisará iniciar
uma nova consulta.
A consulta precisa permanecer idêntica em solicitações subsequentes para aproveitar os dados em cache. As solicitações paginadas subsequentes não contam como operações adicionais na sua cota diária de operações para acesso de explorador e acesso básico. Se a consulta for diferente e enviada com o mesmo token de página, um erro será retornado.