セレクタ

セレクタは、目的の AdWords エンティティを取得するクエリの構築に役立ちます。セレクタを使用すると、取得したエンティティのリストを絞り込み、順序を付けることができます。ほとんどのセレクタには、次のようなメソッドがあります。

withCondition()
セレクタに条件を追加します。複数の条件が使用された場合、AND で結合されます。つまり、指定されたすべての条件に一致するエンティティのみが返されます。
withIds()
条件として ID のコレクションを追加します。ID に基づく条件は、他のすべての条件と AND で結合されます。
forDateRange()
条件や順序句が、Ctr や Impressions といった Stats フィールドを参照する場合に必要です。たとえば AdWords スクリプトでインプレッションが 100 件を超えるすべてのキャンペーンをリクエストする場合、対象期間の指定が必要です。
orderBy()
返されたエンティティの順序付けを指定します。
withLimit()
返されるエンティティの数を指定の値に制限します。 orderBy() と組み合わせて「昨日の表示回数上位 10 個のキーワード」のような情報を取得する場合に特に便利です。

これらのメソッドの呼び出し順序は任意です。ただし orderBy() は例外で、呼び出す順序が意味を持ちます。このメソッドを複数回呼び出した場合、順序句を複数指定したことになり、呼び出した順に適用されます。 次のスニペットについて考えてみましょう。

selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("Clicks DESC")
    .orderBy("CTR ASC");

この場合、結果は Clicks を基準にして、降順で並べ替えられます。Clicks の値が同じ結果については、Ctr を基準に昇順で並べ替えられます。

セレクタのメソッドへの呼び出しは、連結させることができます。次のコードをご覧ください。

var campaignSelector = AdWordsApp.campaigns();
campaignSelector.withCondition("Clicks > 10");
campaignSelector.withCondition("Impressions > 1000");
campaignSelector.orderBy("Impressions DESC");
campaignSelector.forDateRange("YESTERDAY");

このコードは、次のように簡潔に書き直すことができます。

var campaignSelector = AdWordsApp.campaigns()
  .withCondition("Clicks > 10")
  .withCondition("Impressions > 1000")
  .orderBy("Impressions DESC")
  .forDateRange("YESTERDAY");

セレクタの構築が完了すると、selector.get() を呼び出すことで、そのセレクタからイテレータを取得することができます。

一部のセレクタ(例: AdParamSelectorLabelSelector)は、より制限の多い(順序付けに使用できる項目や掲載結果データを持たない)エンティティを扱うため、利用できるメソッドの種類が限られます。

セレクタを効果的に使用するためのヒントについては、おすすめの設定をご覧ください。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。