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.