Como percorrer resultados

GoogleAdsService.Search é compatível com paginação ao especificar page_size na solicitação. Isso divide o conjunto de resultados da consulta em várias respostas, cada uma contendo até page_size número de objetos. Se page_size não for especificado, ele será definido automaticamente para o máximo de 10.000 linhas.

Como exemplo, para 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 e page_size estiver definido como 1,000, o conjunto de resultados terá 1.000 objetos GoogleAdsRow na primeira resposta, além de uma next_page_token.

Para recuperar as próximas mil linhas, envie a solicitação novamente com o mesmo tamanho de página, mas atualize o page_token da solicitação para o next_page_token da resposta. O valor de page_size nas próximas solicitações pode ser diferente a cada vez. Observe que next_page_token não é preenchido na resposta que contém o último lote de linhas.

Nossas bibliotecas cliente lidam com a paginação automaticamente. Você só precisa iterar nas linhas da resposta. Quando todas as linhas da página atual forem retornadas, a biblioteca de cliente buscará uma nova página de linhas automaticamente em seu nome até que todo o conjunto de dados seja recuperado. Se estiver usando REST em vez de gRPC, você precisará fazer uma solicitação explícita para cada nova página.

A Google Ads API armazena internamente todo o conjunto de dados em cache, fazendo com que as solicitações subsequentes sejam mais rápidas que a inicial. Dependendo do seu caso de uso, é possível definir page_size como qualquer valor entre 1 e 10.000. Em geral, para um desempenho geral mais rápido, use um page_size maior para menos idas e voltas.

Sua consulta precisa permanecer exatamente a mesma nas solicitações subsequentes para aproveitar os dados armazenados em cache. As solicitações não contribuirão para sua cota, especialmente para o acesso básico. Se a consulta for diferente e enviada com o mesmo token de página, um erro será retornado.