フィールド マスク

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 が含まれる場合があります。対応するマスク リスティングLineItemslineItems.primaryGoal.units です。

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

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

ワイルドカード

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

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

無効な項目があります

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