É possível paginar os resultados recuperados com
GoogleAdsService.Search em vez de fazer o download de todo o conjunto de resultados
de uma só 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. A configuração de page_size em
SearchGoogleAdsRequest foi descontinuada 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..."
}
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 da página atual forem retornadas, a biblioteca de cliente vai buscar 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, precisará 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 o conjunto de dados internamente 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.
Sua consulta precisa permanecer idêntica nas solicitações subsequentes para aproveitar os dados armazenados em cache. As solicitações paginadas subsequentes não contam como operações adicionais na sua cota diária de operações para o acesso de explorador e o acesso básico. Se a consulta for diferente e for enviada com o mesmo token de página, um erro será retornado.