Google Ads API のエンティティとレポートデータを取得するには、次のいずれかの方法を使用します。
2 つの方法の概要は次のとおりです。
GoogleAdsService.SearchStream | GoogleAdsService.Search | |
---|---|---|
本番環境コードに適している | はい | はい |
サービス | GoogleAdsService |
GoogleAdsService |
シナリオ | オブジェクトとレポートの取得 | オブジェクトとレポートの取得 |
レスポンス | GoogleAdsRow オブジェクトのストリーム |
GoogleAdsRow オブジェクトのページ |
レスポンスのフィールド | クエリで指定されたもののみ | クエリで指定されたもののみ |
1 日の使用上限 | アクセスレベルに基づく 1 日あたりの上限 | アクセスレベルに基づく 1 日あたりの上限 |
SearchStream
対 Search
Search
は複数のページネーション リクエストを送信してレポート全体をダウンロードできますが、SearchStream
は 1 つのリクエストを送信し、レポートのサイズに関係なく Google 広告 API との永続接続を開始します。
SearchStream
の場合、データパケットはすぐにダウンロードを開始し、結果全体がデータバッファにキャッシュに保存されます。ストリーム全体が完了するまで待たずに、バッファに格納されたデータを読み取ることができます。
Search
レスポンスの各ページをリクエストするために必要なラウンドトリップ ネットワーク時間を排除することで、アプリによっては、特に大規模なレポートで、SearchStream
はページングよりもパフォーマンスを向上させることができます。
例
この例では、100,000
行で構成されるレポートについて説明します。次の表に、2 つの方法の違いを示します。
SearchStream | 検索 | |
---|---|---|
ページサイズ | 該当なし | 1 ページあたり 10,000 行 |
API リクエストの数 | 1 件のリクエスト | 10 件のリクエスト |
API レスポンス数 | 1 つの連続ストリーム | 10 件の回答 |
パフォーマンスの要因
ほとんどのユースケースでは、次の理由から Search
ではなく SearchStream
を使用することをおすすめします。
1 ページのレポート(10,000 行未満)の場合: 2 つの方法でパフォーマンスに大きな違いはありません。
複数ページのレポートの場合:
SearchStream
は通常、複数の往復が回避され、ディスク キャッシュからの読み取りや書き込みがあまり影響しないため、高速です。
レート制限
どちらの方法でも、1 日あたりの上限は、開発者トークンの標準の上限とアクセス権に準拠しています。1 つのクエリまたはレポートは、結果がページングされるかストリーミングされるかにかかわらず、1 つのオペレーションとしてカウントされます。