GoogleAdsService.Search で取得した結果を一度にダウンロードするのではなく、ページごとに取得できます。Google Ads API を使用したレポート作成の概要については、レポート作成ガイドをご覧ください。
結果は最大 10,000 行のページで返されます。リクエストで page_size が設定されていない場合、デフォルトは 10,000 です。page_size が 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 個のキーワードが含まれている場合、結果セットには next_page_token とともに最初のレスポンスで 10,000 個の GoogleAdsRow オブジェクトが含まれます。
次の 10,000 行を取得するには、リクエストをもう一度送信しますが、リクエストの page_token をレスポンスの next_page_token に更新します。next_page_token は、行の最後のバッチを含むレスポンスには入力されません。
レスポンスの行を繰り返すだけで、自動的にページングが処理されます。現在のページのすべての行が返されると、データセット全体が取得されるまで自動的に新しいページ行がフェッチされます。gRPC の代わりに REST を使用する場合は、新しいページごとにリクエストを明示的に行う必要があります。
Google Ads API はデータセット全体を内部的にキャッシュするため、後続のリクエストは最初のリクエストよりも高速になります。
キャッシュされたデータを利用するには、以降のリクエストでもクエリはまったく同じでなければなりません。特にエクスプローラ アクセスレベルとベーシック アクセスレベルでは、リクエストは割り当て量に加算されません。異なるクエリが同じページトークンとともに送信されると、エラーが返されます。