결과 페이징

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는 전체 데이터 세트를 내부적으로 캐시하므로 후속 요청이 첫 번째 요청보다 빠릅니다.

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