결과 페이징

GoogleAdsService.Search는 10,000행의 고정 페이지 크기로 페이지 나누기를 지원합니다. 쿼리의 결과 집합이 각각 10,000개의 객체로 구성된 여러 응답으로 분할됩니다.

예를 들어 다음 쿼리를 살펴보겠습니다.

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

계정에 50,000개의 키워드가 포함된 경우 결과 세트에는 첫 번째 응답에 10,000개의 GoogleAdsRow 객체와 next_page_token이 포함됩니다.

다음 10,000개 행을 가져오려면 요청을 다시 보내되 요청의 page_token을 응답의 next_page_token로 업데이트합니다. 마지막 행 일괄 처리가 포함된 응답에는 next_page_token이 채워지지 않습니다.

Google 클라이언트 라이브러리는 페이지로 나누기를 자동으로 처리합니다. 응답의 행을 반복하기만 하면 됩니다. 현재 페이지의 모든 행이 반환되면 클라이언트 라이브러리는 전체 데이터 세트가 검색될 때까지 자동으로 새 행 페이지를 가져옵니다. gRPC 대신 REST를 사용하는 경우 각 새 페이지에 대해 명시적으로 요청해야 합니다.

Google Ads API는 내부적으로 전체 데이터 세트를 캐시하므로 후속 요청이 초기 요청보다 빠릅니다.

캐시된 데이터를 활용하려면 후속 요청에서 쿼리가 정확히 동일해야 합니다. 특히 기본 액세스 수준의 경우 요청이 할당량에 반영되지 않습니다. 쿼리가 다르고 동일한 페이지 토큰과 함께 전송되면 오류가 반환됩니다.