フィールド マスク

Ad Manager REST API では、部分的な読み取りと書き込みにフィールド マスクが使用されます。これにより、 転送するデータの量を制限してパフォーマンスを向上させる。フィールド マスク フィールド名のカンマ区切りリストで表されます。例:

startTime,endTime,targeting.geoTargeting

読み取りマスク

読み取りマスクは、API レスポンスに含まれるフィールドを制御します。1 対 1 やグループの会話での 次の 2 つの方法でリクエストに対して読み取りマスクを使用できます。

  1. fields クエリ パラメータ:

    curl https://admanager.googleapis.com/v1/networks/123456/adUnits?fields=adUnits,nextPageToken,totalSize
  2. X-Goog-FieldMask HTTP ヘッダー:

    curl -H "X-Goog-FieldMask: adUnits,nextPageToken,totalSize" \
        https://admanager.googleapis.com/v1/networks/123456/adUnits
で確認できます。

デフォルトの読み取りマスク

一部の API メソッドには、コストの高いフィールド用のデフォルトのフィールド マスクが含まれています 返されます。リストメソッドはその一例です。デフォルトでは、 totalSize 表示されます。

これらのフィールドは、フィールド マスクで名前または * ワイルドカードを使用します。

マスクを更新する

更新マスクは、更新で変更されるフィールドを制御します(PATCH) リクエストできます。更新マスクが設定されている場合、リクエスト本文に設定されているフィールドに関係なく、マスク内のフィールドのみが更新されます。

更新マスクがクエリ パラメータとして設定されている。例:

curl -X PATCH https://admanager.googleapis.com/v1/networks/1234/order/4567?updateMask=displayName

フィールド トラバーサル

フィールド マスクでは、. 文字を使用してエンティティ内のフィールドを指定できます。 ありますこれは、Terraform で使用した構文と フィルタ。

フィールド マスクは、常にレスポンス オブジェクトに関連しています。たとえば、ラベル付きの LineItem の読み取りには primaryGoal.units が含まれる場合があります。対応するマスク リスティング用 LineItems は lineItems.primaryGoal.units です。

フィールド全体またはサブフィールドのいずれかを指定できます。両方 primaryGoal と primaryGoal.units は有効です。

これは繰り返しフィールドにも適用されます。次の LineItem フィールド マスク creativePlaceholders.size は有効で、size フィールドのみが含まれています (各 CreativePlaceholder)

ワイルドカード

フィールド マスクでは、メッセージ内のすべてのフィールドを示す * 文字を使用できます。 次の例は、list を実行するときにワイルドカードを使用する方法を示しています。 Orders。このメソッドには、デフォルトの読み取りマスクがあります。 total_size フィールドを含めないでください。

例 意味
* total_size を含むすべてのフィールドが含まれます
orders orders フィールドとそのすべてのサブフィールドのみを含めます。
orders.* orders フィールドとそのすべてのサブフィールドのみを含めます。

無効な項目があります

存在しない値をフィールド マスクが参照すると、API が応答する INVALID_ARGUMENT エラーが発生します。