L'API REST di Ad Manager supporta l'applicazione di filtri sui metodi List
. La sintassi della stringa di filtro
è formalmente definita nella grammatica dell'EBNF.
Per iniziare, ecco alcuni esempi di casi d'uso comuni.
Esempio | Significato |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
Elenca gli ordini con un updateTime dopo il 1° gennaio 2024 nel fuso orario orientale standard |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
Elenca gli elementi pubblicitari con un targeting geografico che contiene gli Stati Uniti (ID targeting geografico 2480 ) |
lineItems.displayName = "*_interstitial" |
Elenca gli elementi pubblicitari il cui nome visualizzato termina con la stringa _interstitial |
orders.displayName = "*video*" |
Elenca gli ordini il cui nome visualizzato contiene la stringa video |
displayName:"video" |
Elenca gli ordini che hanno un nome visualizzato contenente la stringa video (sintassi alternativa) |
Valori letterali
Un valore letterale essenziale (esempi: 42
, Hugo
) è un valore di cui trovare una corrispondenza.
I valori letterali che appaiono da soli vengono confrontati con tutti i campi supportati su una risorsa. Le risorse documentano i campi considerati per la corrispondenza nel metodo list
. Questa funzionalità è paragonabile alla ricerca universale nell'interfaccia utente di Ad Manager, ma ha come ambito un singolo tipo di risorsa.
I valori letterali stringa che contengono spazi devono essere racchiusi tra virgolette doppie
(esempio: "Foo bar"
). Non è possibile utilizzare le virgolette singole per inserire i valori letterali stringa.
Operatori logici
L'API REST di Ad Manager supporta gli operatori binari AND
e OR
.
Operatore | Esempio | Significato |
---|---|---|
AND |
a AND b |
True se a e b sono veri. |
OR |
a OR b OR c |
True se uno qualsiasi tra a , b e c è vero. |
Operatori di negazione
L'API REST di Ad Manager fornisce gli operatori unari NOT
e -
.
Questi possono essere utilizzati in modo intercambiabile.
Operatore | Esempio | Significato |
---|---|---|
NOT |
NOT a |
True se a non è vero. |
- |
-a |
True se a non è vero. |
Operatori di confronto
L'API REST di Ad Manager supporta gli operatori di confronto binario
=
, !=
, <
, >
, <=
e >=
per i campi stringa, numerici, timestamp e
durata.
Operatore | Esempio | Significato |
---|---|---|
= |
a = true |
True se a è vero. |
!= |
a != 42 |
Vero a meno che a non sia uguale a 42. |
< |
a < 42 |
True se a è un valore numerico inferiore a 42. |
> |
a > "foo" |
True se a è in ordine lessico dopo "foo". |
<= |
a <= "foo" |
True se a è "foo" o lessicalmente prima di questo. |
>= |
a >= 42 |
True se a è un valore numerico pari o superiore a 42. |
Poiché i filtri sono accettati come stringhe di query, la conversione del tipo viene eseguita per tradurre la stringa nel valore altamente digitato appropriato:
- Le stringhe prevedono virgolette doppie. Esempio:
"Foo bar"
. - Le enum prevedono la rappresentazione stringa dell'enum (distingue maiuscole e minuscole).
- Gli operatori booleani prevedono valori letterali
true
efalse
. - I numeri si aspettano le rappresentazioni numeri interi o float standard. Per i numeri in virgola mobile,
sono supportati gli esponenti. Esempio:
2.997e9
. - Le durate prevedono una rappresentazione numerica seguita da un suffisso
s
(in secondi). Esempi:"20s"
,"1.2s"
. - I timestamp prevedono una stringa formattata
RFC-3339.
Esempio:
"2012-04-21T11:30:00-04:00"
. Sono supportati gli scarti UTC.
Caratteri jolly
Quando confronti le stringhe per determinare l'uguaglianza, l'API REST di Ad Manager supporta
i caratteri jolly che usano il carattere *
.
Esempio | Significato |
---|---|
a = "*.foo" |
True se a termina con ".foo". |
Operatore di trasferimento
L'API REST di Ad Manager supporta l'operatore .
, che indica
il attraversamento attraverso un messaggio, una mappa o uno struct.
Esempio | Significato |
---|---|
a.b = true |
True se a ha un campo booleano b vero. |
a.b > 42 |
True se a ha un campo b numerico maggiore di 42. |
a.b.c = "foo" |
True se a.b ha un campo stringa c contenente "foo". |
Il trasferimento viene scritto utilizzando i nomi dei campi della risorsa. I singoli servizi possono specificare un sottoinsieme di campi supportati per l'attraversamento.
Con operatore
L'API REST di Ad Manager supporta l'operatore :
, che significa "ha".
È utilizzabile con raccolte (campi o mappe ripetuti), messaggi e stringhe
e si comporta in modo leggermente diverso in ciascun caso.
Query sui campi stringa per verificare se la stringa contiene una sottostringa corrispondente:
Esempio | Significato |
---|---|
r.displayName:"_250x250" |
True se il campo Stringa r.displayName contiene la sottostringa _250x250 . |
Query sui campi ripetuti per verificare se la struttura ripetuta contiene un elemento corrispondente:
Esempio | Significato |
---|---|
r:42 |
True se r contiene 42. |
r.foo:42 |
True se r contiene un elemento e tale che e.foo = 42 . |
Mappe, struct e messaggi possono eseguire query per verificare la presenza di un campo nella mappa o di un valore specifico:
Esempio | Significato |
---|---|
m:foo |
True se m contiene la chiave "foo". |
m.foo:* |
True se m contiene la chiave "foo". |
m.foo:42 |
True se m.foo è 42. |
Quando si attraversano messaggi, un campo viene considerato presente solo se ha un valore non predefinito.
Limitazioni
I singoli servizi possono specificare ulteriori strutture o limitazioni per le query di filtro, oltre a quanto definito qui.
Ordine
L'API REST di Ad Manager supporta l'ordinamento in base ai metodi List
. La sintassi per i campi orderBy
è un elenco di nomi di campi separati da virgole. Ad esempio:
"foo,bar"
.
L'ordinamento predefinito è crescente. Per specificare l'ordine decrescente di un campo,
aggiungi un suffisso " desc"
. Ad esempio: "foo desc, bar"
.
Gli spazi ridondanti nella sintassi vengono ignorati. I valori "foo, bar desc"
, " foo , bar desc "
e "foo,bar desc"
sono tutti equivalenti.
I campi secondari vengono specificati con l'operatore di attraversamento. Ad
esempio: foo.bar
o address.street
.