Filtres

L'API REST Ad Manager accepte le filtrage des méthodes List. La syntaxe de la chaîne de filtre est officiellement définie dans la grammaire EBNF.

Pour commencer, voici quelques exemples de cas d'utilisation courants.

Exemple Signification
orders.updateTime > "2024-01-01T00:00:00-5:00" Répertorie les commandes associées à un updateTime après le 1er janvier 2024 dans le fuseau horaire standard de l'Est
lineItems.targeting.geoTargeting.targetedGeoIds:2840 Liste les éléments de campagne dont le ciblage géographique contient les États-Unis (ID de la cible géographique : 2480)
lineItems.displayName = "*_interstitial" Liste les éléments de campagne dont le nom à afficher se termine par la chaîne _interstitial
orders.displayName = "*video*" Liste les commandes dont le nom à afficher contient la chaîne video
displayName:"video" Liste les commandes dont le nom à afficher contient la chaîne video (syntaxe alternative).

Littéraux

Une valeur littérale simple (exemples: 42, Hugo) est une valeur à mettre en correspondance. Les littéraux apparaissant seuls correspondent à une correspondance partielle avec tous les champs compatibles d'une ressource. Les ressources indiquent les champs pouvant être mis en correspondance avec la méthode list. Cette fonctionnalité est comparable à la recherche universelle dans l'interface utilisateur d'Ad Manager, mais elle est limitée à un seul type de ressource.

Les littéraux de chaîne contenant des espaces doivent être entourés de guillemets doubles (exemple: "Foo bar"). Les littéraux de chaîne ne peuvent pas être utilisés pour encapsuler des littéraux de chaîne.

Opérateurs logiques

L'API REST Ad Manager accepte les opérateurs binaires AND et OR.

Opérateur Exemple Signification
AND a AND b "True" si a et b sont vrais.
OR a OR b OR c "True" si a, b ou c sont vrais.

Opérateurs de négation

L'API REST Ad Manager fournit les opérateurs unaires NOT et -. Ils peuvent être utilisés de manière interchangeable.

Opérateur Exemple Signification
NOT NOT a "True" si a n'est pas vrai.
- -a "True" si a n'est pas vrai.

Opérateurs de comparaison

L'API REST Ad Manager est compatible avec les opérateurs de comparaison binaire =, !=, <, >, <= et >= pour les champs de type chaîne, numérique, horodatage et durée.

Opérateur Exemple Signification
= a = true "True" si a est "true".
!= a != 42 Vrai, sauf si a est égal à 42.
< a < 42 "True" si a est une valeur numérique inférieure à 42.
> a > "foo" "True" si a est trié lexiquement après "foo".
<= a <= "foo" "True" si a est "foo" ou lexiquement avant lui.
>= a >= 42 "True" si a est une valeur numérique supérieure ou égale à 42.

Étant donné que les filtres sont acceptés en tant que chaînes de requête, la conversion de type a lieu pour traduire la chaîne en la valeur fortement typée appropriée:

  • Les chaînes attendent des guillemets doubles. Exemple : "Foo bar"
  • Les énumérations attendent la représentation de chaîne de l'énumération (sensible à la casse).
  • Les valeurs booléennes sont attendues pour les valeurs littérales true et false.
  • Les nombres s'attendent à des représentations entières ou à virgule flottante standards. Pour les nombres à virgule flottante, les exposants sont acceptés. Exemple : 2.997e9
  • Les durées nécessitent une représentation numérique suivie d'un suffixe s (pour les secondes). Exemples: "20s", "1.2s".
  • Les horodatages attendent une chaîne au format RFC-3339. Exemple : "2012-04-21T11:30:00-04:00". Les décalages UTC sont acceptés.

Caractères génériques

Lorsque vous comparez des chaînes pour déterminer l'égalité, l'API REST Ad Manager accepte les caractères génériques avec le caractère *.

Exemple Signification
a = "*.foo" "True" si a se termine par ".foo".

Opérateur de balayage

L'API REST Ad Manager est compatible avec l'opérateur ., qui indique le balayage dans un message, un mappage ou un struct.

Exemple Signification
a.b = true "True" si a comporte un champ booléen b défini sur "true".
a.b > 42 "True" si a comporte un champ numérique b supérieur à 42.
a.b.c = "foo" "True" si a.b comporte un champ de chaîne c défini sur "foo".

Le balayage est écrit à l'aide des noms de champs de la ressource. Chaque service peut spécifier un sous-ensemble de champs compatibles avec le balayage.

Dispose d'un opérateur

L'API REST Ad Manager est compatible avec l'opérateur :, qui signifie "contient". Elle peut être utilisée avec des collections (champs ou mappages répétés), des messages et des chaînes, et se comporte légèrement différemment dans chaque cas.

Une requête de champs de chaîne permet de voir si la chaîne contient une sous-chaîne correspondante:

Exemple Signification
r.displayName:"_250x250" "True" si le champ de chaîne r.displayName contient la sous-chaîne _250x250.

Les champs répétés effectuent une requête pour vérifier si la structure répétée contient un élément correspondant:

Exemple Signification
r:42 "True" si r contient 42.
r.foo:42 "True" si r contient un élément e tel que e.foo = 42.

Les cartes, les structs et les messages peuvent interroger la présence d'un champ dans la carte ou d'une valeur spécifique:

Exemple Signification
m:foo "True" si m contient la clé "foo".
m.foo:* "True" si m contient la clé "foo".
m.foo:42 "True" si m.foo est défini sur 42.

Lors du balayage de messages, un champ n'est considéré comme présent que s'il possède une valeur autre que celle par défaut.

Limites

Les services individuels peuvent spécifier une structure ou des limites supplémentaires pour les requêtes de filtre en plus de ce qui est défini ici.

Commande

L'API REST d'Ad Manager permet de trier les données à l'aide des méthodes List. La syntaxe des champs orderBy consiste en une liste de noms de champs séparés par une virgule. Exemple : "foo,bar".

Par défaut, l'ordre de tri est croissant. Pour spécifier l'ordre décroissant d'un champ, ajoutez un suffixe " desc". Exemple : "foo desc, bar".

Les espaces redondants dans la syntaxe sont ignorés. Les valeurs "foo, bar desc", " foo , bar desc " et "foo,bar desc" sont toutes équivalentes.

Les sous-champs sont spécifiés à l'aide de l'opérateur de balayage. Exemples: foo.bar ou address.street.