L'API REST Ad Manager utilise des masques de champ pour les lectures et les écritures partielles. Cela peut améliorer les performances en limitant la quantité de données transférées. Masques de champ sont représentés par une liste de noms de champs séparés par une virgule. Exemple :
startTime,endTime,targeting.geoTargeting
Lire les masques
Les masques de lecture contrôlent les champs présents dans une réponse d'API. Vous pouvez définir un masque de lecture sur votre requête de deux manières:
Le paramètre de requête
fields
:curl https://admanager.googleapis.com/v1/networks/123456/adUnits?fields=adUnits,nextPageToken,totalSize
L'en-tête HTTP
X-Goog-FieldMask
:curl -H "X-Goog-FieldMask: adUnits,nextPageToken,totalSize" \ https://admanager.googleapis.com/v1/networks/123456/adUnits
Masques de lecture par défaut
Certaines méthodes d'API incluent un masque de champ par défaut pour les champs coûteux
à renvoyer. Les méthodes de liste en sont un exemple. Par défaut, ils n'incluent pas
le totalSize
.
Ces champs doivent être explicitement demandés dans le masque de champ, soit par nom, soit par
à l'aide du caractère générique *
.
Mettre à jour les masques
Les masques de mise à jour contrôlent les champs qui seront modifiés lors d'une mise à jour (PATCH
)
requête. Lorsqu'un masque de mise à jour est défini, seuls les champs du masque sont mis à jour
quels que soient les champs
définis dans le corps de la requête.
Les masques de mise à jour sont définis en tant que paramètres de requête. Exemple :
curl -X PATCH https://admanager.googleapis.com/v1/networks/1234/order/4567?updateMask=displayName
Balayage de champ
Les masques de champ peuvent spécifier des champs au sein d'une entité à l'aide du caractère .
pour
le balayage de l'écran. Il s’agit de la même syntaxe
utilisée par
Filtres :
Les masques de champ sont toujours relatifs à l'objet de réponse. Par exemple, un masque pour
la lecture d'un LineItem
peut inclure primaryGoal.units
. Le masque correspondant
pour fiche
LineItems
est lineItems.primaryGoal.units
.
Vous pouvez spécifier un champ dans son ensemble ou l'un de ses sous-champs. Les deux
primaryGoal
et primaryGoal.units
sont des valeurs correctes.
Cela s'applique également aux champs répétés. Un masque de champ LineItem
de
creativePlaceholders.size
est valide et n'inclut que le champ size
.
pour chaque CreativePlaceholder
.
Caractères génériques
Les masques de champ acceptent le caractère *
, qui indique tous les champs du message.
Les exemples suivants illustrent l'utilisation de caractères génériques pour listing
Orders
Cette méthode dispose d'un masque de lecture par défaut qui effectue
n'incluez pas le champ total_size
.
Exemple | Signification |
---|---|
* |
Inclut tous les champs, y compris total_size |
orders |
Inclut uniquement le champ orders et tous ses sous-champs |
orders.* |
Inclut uniquement le champ orders et tous ses sous-champs |
Champs non valides
Si un masque de champ fait référence à une valeur inexistante, l'API répond
avec une erreur INVALID_ARGUMENT
.