Como percorrer resultados

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

Por exemplo, para a consulta a seguir:

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 sua conta tiver 50.000 palavras-chave e page_size estiver definido como 1,000, o conjunto de resultados vai incluir 1.000 objetos GoogleAdsRow na primeira resposta, além de um 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 solicitações seguintes pode ser diferente a cada vez. Observe que next_page_token não está preenchido na resposta que contém o último lote de linhas.

Nossas bibliotecas de cliente processam 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, faça uma solicitação explicitamente para cada nova página.

A Google Ads API armazena internamente todo o conjunto de dados em cache. Assim, as solicitações subsequentes são mais rápidas que a inicial. Dependendo do 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 viagens de ida e volta.

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