Die Ad Manager API unterstützt das Filtern nach List
-Methoden. Die Syntax von Filterstrings ist in der EBNF-Grammatik formal definiert.
Im Folgenden finden Sie einige Beispiele für gängige Anwendungsfälle.
Beispiel | Bedeutung |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
Listet Bestellungen mit einer updateTime nach dem 1. Januar 2024 in der Eastern Standard Time-Zeitzone auf |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
Listet Werbebuchungen mit geografischem Targeting auf, die die USA (ID für geografische Ziele 2480 ) enthalten. |
lineItems.displayName = "*_interstitial" |
Werbebuchungen mit einem Anzeigenamen, der auf den String _interstitial endet |
orders.displayName = "*video*" |
Hier werden Bestellungen mit einem Anzeigenamen aufgelistet, der den String video enthält. |
displayName:"video" |
Listet Bestellungen auf, deren Anzeigename den String video enthält (alternative Syntax) |
Literale
Ein einfacher Literalwert (z. B. 42
, Hugo
) ist ein Wert, mit dem verglichen werden soll.
Allein stehende Literale werden mit allen unterstützten Feldern einer Ressource abgeglichen. In den Ressourcen wird dokumentiert, welche Felder bei der list
-Methode für den Abgleich berücksichtigt werden. Diese Funktion ist mit der universellen Suche in der Ad Manager-Benutzeroberfläche vergleichbar, aber auf einen einzelnen Ressourcentyp beschränkt.
Stringliterale mit Leerzeichen müssen in doppelte Anführungszeichen gesetzt werden (Beispiel: "Foo bar"
). Sie können nicht in einfache Anführungszeichen gesetzt werden.
Logische Operatoren
Die Ad Manager API unterstützt die binären Operatoren AND
und OR
.
Operator | Beispiel | Bedeutung |
---|---|---|
AND |
a AND b |
„Wahr“, wenn a und b „wahr“ sind. |
OR |
a OR b OR c |
„Wahr“, wenn mindestens einer der Werte a , b oder c wahr ist. |
Negationsoperatoren
Die Ad Manager API bietet die unaryn Operatoren NOT
und -
. Sie können austauschbar verwendet werden.
Operator | Beispiel | Bedeutung |
---|---|---|
NOT |
NOT a |
„Wahr“, wenn a nicht wahr ist. |
- |
-a |
„Wahr“, wenn a nicht wahr ist. |
Vergleichsoperatoren
Die Ad Manager API unterstützt die binären Vergleichsoperatoren =
, !=
, <
, >
, <=
und >=
für String-, Zahlen-, Zeitstempel- und Zeitdauerfelder.
Operator | Beispiel | Bedeutung |
---|---|---|
= |
a = true |
Wahr, wenn a wahr ist. |
!= |
a != 42 |
„Wahr“, es sei denn, a ist 42. |
< |
a < 42 |
TRUE, wenn a ein numerischer Wert kleiner als 42 ist. |
> |
a > "foo" |
„Wahr“, wenn a lexikalisch nach „foo“ sortiert ist. |
<= |
a <= "foo" |
Wahr, wenn a „foo“ ist oder lexikalisch vor „foo“ steht. |
>= |
a >= 42 |
„Wahr“, wenn a ein numerischer Wert von 42 oder höher ist. |
Da Filter als Suchstrings akzeptiert werden, erfolgt eine Typkonvertierung, um den String in den entsprechenden stark typisierten Wert umzuwandeln:
- Strings müssen in doppelte Anführungszeichen gesetzt werden. Beispiel:
"Foo bar"
. - Für Enums wird die Stringdarstellung des Enums erwartet (Groß-/Kleinschreibung wird beachtet).
- Für boolesche Werte werden die Literalwerte
true
undfalse
erwartet. - Für Zahlen werden die Standarddarstellungen für Ganzzahlen oder Gleitkommazahlen erwartet. Bei Gleitkommazahlen werden Exponenten unterstützt. Beispiel:
2.997e9
. - Für die Dauer ist eine numerische Darstellung mit dem Suffix
s
(für Sekunden) erforderlich. Beispiele:"20s"
,"1.2s"
. - Für Zeitstempel ist ein String im Format RFC-3339 erforderlich. Beispiel:
"2012-04-21T11:30:00-04:00"
. Zeitzonenunterschiede zur UTC-Zeit werden unterstützt.
Platzhalter
Beim Vergleichen von Strings auf Gleichheit unterstützt die Ad Manager API Platzhalter mit dem Zeichen *
.
Beispiel | Bedeutung |
---|---|
a = "*.foo" |
„Wahr“, wenn a mit „.foo“ endet. |
Durchlaufoperator
Die Ad Manager API unterstützt den Operator .
, der die Durchlaufung einer Nachricht, Map oder Struktur angibt.
Beispiel | Bedeutung |
---|---|
a.b = true |
„Wahr“, wenn a ein boolesches b -Feld mit dem Wert „wahr“ hat. |
a.b > 42 |
„Wahr“, wenn a ein numerisches b -Feld hat, das größer als 42 ist. |
a.b.c = "foo" |
„Wahr“, wenn a.b ein Stringfeld c mit dem Wert „foo“ hat. |
Die Durchlaufanweisung wird mit den Feldnamen aus der Ressource geschrieben. Einzelne Dienste können eine Teilmenge der Felder angeben, die für die Durchsuchung unterstützt werden.
Mit Betreiber
Die Ad Manager API unterstützt den Operator :
, der für „hat“ steht. Sie kann mit Sammlungen (wiederkehrende Felder oder Karten), Nachrichten und Strings verwendet werden und verhält sich in jedem Fall etwas anders.
Stringfelder werden abgefragt, um zu prüfen, ob der String einen übereinstimmenden Teilstring enthält:
Beispiel | Bedeutung |
---|---|
r.displayName:"_250x250" |
„Wahr“, wenn das Stringfeld r.displayName den Teilstring _250x250 enthält. |
Mit wiederkehrenden Feldern wird geprüft, ob die wiederkehrende Struktur ein übereinstimmendes Element enthält:
Beispiel | Bedeutung |
---|---|
r:42 |
„Wahr“, wenn r die Zahl 42 enthält. |
r.foo:42 |
Wahr, wenn r ein Element e enthält, für das e.foo = 42 gilt. |
Bei Zuordnungen, Strukturen und Nachrichten kann entweder nach dem Vorhandensein eines Felds in der Zuordnung oder nach einem bestimmten Wert gesucht werden:
Beispiel | Bedeutung |
---|---|
m:foo |
„True“, wenn m den Schlüssel „foo“ enthält. |
m.foo:* |
„True“, wenn m den Schlüssel „foo“ enthält. |
m.foo:42 |
Wahr, wenn m.foo = 42 ist. |
Bei der Durchsuchung von Nachrichten wird ein Feld nur dann als vorhanden betrachtet, wenn es einen anderen Wert als den Standardwert hat.
Beschränkungen
Für einzelne Dienste können zusätzlich zu den hier definierten Strukturen oder Einschränkungen für Filterabfragen weitere festgelegt werden.
Auftrag
Die meisten Ressourcen unterstützen die Sortierung nach List
-Methoden. Weitere Informationen zum genauen Verhalten der Ressource und zu den für die Sortierung unterstützten Feldern findest du in der Dokumentation der List
-Methode.
Die Syntax für orderBy
-Felder ist eine durch Kommas getrennte Liste von Feldnamen. Beispiel: "foo,bar"
Die Standardsortierreihenfolge ist aufsteigend. Wenn Sie ein Feld absteigend sortieren möchten, hängen Sie das Suffix " desc"
an. Beispiel: "foo desc, bar"
Überflüssige Leerzeichen in der Syntax werden ignoriert. Die Werte "foo, bar
desc"
, " foo , bar desc "
und "foo,bar desc"
sind äquivalent.
Unterfelder werden mit dem Durchlaufoperator angegeben. Beispiel: foo.bar
oder address.street
.