Ad Manager API, List
yöntemlerinde filtrelemeyi destekler. Filtre dizesi söz dizimi, EBNF dilbilgisinde resmi olarak tanımlanır.
Başlamak için yaygın kullanım alanlarından bazı örnekleri aşağıda bulabilirsiniz.
Örnek | Anlamı |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
Doğu Standart Saat Dilimi'nde 1 Ocak 2024'ten sonra updateTime içeren siparişleri listeler |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
ABD'yi içeren coğrafi hedeflemeye sahip satır öğelerini listeler (coğrafi hedef kimliği 2480 ) |
lineItems.displayName = "*_interstitial" |
Görünen adı _interstitial dizesiyle biten satır öğelerini listeler. |
orders.displayName = "*video*" |
Görünen adı video dizesini içeren siparişleri listeler |
displayName:"video" |
Görünen adı video (alternatif söz dizimi) dizesini içeren siparişleri listeler |
Değişmez değerler
Yalın değişmez değer (örnekler: 42
, Hugo
), eşleştirilecek bir değerdir.
Tek başına görünen değişken değerler, bir kaynakta desteklenen tüm alanlarla eşleştirilir. Kaynaklar, list
yönteminde eşleşme için hangi alanların dikkate alındığını belirtir. Bu özellik, Ad Manager kullanıcı arayüzündeki evrensel arama ile benzerdir ancak tek bir kaynak türüne odaklanmıştır.
Boşluk içeren dize değişmez değerleri çift tırnak içine alınmalıdır
(örnek: "Foo bar"
). Dize değişmez değerlerini sarmalamak için tek tırnak işareti kullanılamaz.
Mantıksal operatörler
Ad Manager API, AND
ve OR
ikili operatörlerini destekler.
Operatör | Örnek | Anlamı |
---|---|---|
AND |
a AND b |
a ve b doğruysa doğru değerini döndürür. |
OR |
a OR b OR c |
a , b , c değerlerinden herhangi biri doğruysa doğru değerini döndürür. |
İnkar operatörleri
Ad Manager API, NOT
ve -
tek adımlı operatörlerini sağlar.
Bu terimler birbirinin yerine kullanılabilir.
Operatör | Örnek | Anlamı |
---|---|---|
NOT |
NOT a |
a doğru değilse doğru değerini döndürür. |
- |
-a |
a doğru değilse doğru değerini döndürür. |
Karşılaştırma operatörleri
Ad Manager API, dize, sayı, zaman damgası ve süre alanları için =
, !=
, <
, >
, <=
ve >=
ikili karşılaştırma operatörlerini destekler.
Operatör | Örnek | Anlamı |
---|---|---|
= |
a = true |
a doğruysa doğru değerini döndürür. |
!= |
a != 42 |
a 42'ye eşit olmadığı sürece doğrudur. |
< |
a < 42 |
a 42'den küçük bir sayısal değerse doğru değerini alır. |
> |
a > "foo" |
a , sözcüksel olarak "foo" ifadesinden sonra sıralanırsa doğru değerini döndürür. |
<= |
a <= "foo" |
a "foo" ise veya söz dizimi açısından ondan önce geliyorsa doğru değerini alır. |
>= |
a >= 42 |
a 42 veya daha yüksek bir sayısal değerse doğru değerini döndürür. |
Filtreler sorgu dizesi olarak kabul edildiğinden, dizenin uygun güçlü türe sahip değere dönüştürülmesi için tür dönüştürme işlemi gerçekleşir:
- Dizelerde çift tırnak işareti olması gerekir. Örnek:
"Foo bar"
. - Listeler, listenin dize temsilini (büyük/küçük harfe duyarlı) bekler.
- Boole değerleri için
true
vefalse
değişmez değerleri beklenir. - Sayılarda, standart tam sayı veya kayan noktalı gösterim beklenir. Kayan noktalı sayılar için üsler desteklenir. Örnek:
2.997e9
. - Süreler için sayısal bir temsilin ardından
s
son eki (saniye cinsinden) beklenir. Örnekler:"20s"
,"1.2s"
. - Zaman damgaları, RFC-3339 biçimli bir dize bekler.
Örnek:
"2012-04-21T11:30:00-04:00"
. UTC farkları desteklenir.
Joker Karakterler
Ad Manager API, eşitlik için dizeleri karşılaştırırken *
karakterini kullanan joker karakterleri destekler.
Örnek | Anlamı |
---|---|
a = "*.foo" |
a ".foo" ile bitiyorsa doğru değerini döndürür. |
Geçiş operatörü
Ad Manager API, bir mesaj, harita veya yapı içinde gezinmeyi belirten .
operatörünü destekler.
Örnek | Anlamı |
---|---|
a.b = true |
a alanında doğru bir boole b alanı varsa doğru değerini alır. |
a.b > 42 |
a öğesinde 42'den büyük bir sayısal b alanı varsa doğru değerini döndürür. |
a.b.c = "foo" |
a.b 'te "foo" olan bir c dizesi alanı varsa doğru değerini döndürür. |
Geçiş, kaynaktaki alan adları kullanılarak yazılır. Bağımsız hizmetler, geçiş için desteklenen bir alan alt kümesi belirtebilir.
Operatör var
Ad Manager API, "sahip" anlamına gelen :
operatörünü destekler.
Koleksiyonlar (yinelenen alanlar veya haritalar), mesajlar ve dizelerle kullanılabilir ve her durumda biraz farklı davranır.
Dizinin eşleşen bir alt dize içerip içermediğini görmek için dize alanı sorgusu:
Örnek | Anlamı |
---|---|
r.displayName:"_250x250" |
Dize alanı r.displayName _250x250 alt dizesini içeriyorsa doğru değerini döndürür. |
Yinelenen yapının eşleşen bir öğe içerip içermediğini görmek için yinelenen alanlar sorgusu:
Örnek | Anlamı |
---|---|
r:42 |
r 42 değerini içeriyorsa doğru değerini döndürür. |
r.foo:42 |
r , e.foo = 42 olan bir e öğesi içeriyorsa doğru değerini döndürür. |
Haritalar, yapılar ve mesajlar, haritadaki bir alanın veya belirli bir değerin varlığını sorgulayabilir:
Örnek | Anlamı |
---|---|
m:foo |
m "foo" anahtarını içeriyorsa doğru değerini döndürür. |
m.foo:* |
m "foo" anahtarını içeriyorsa doğru değerini döndürür. |
m.foo:42 |
m.foo 42 ise doğru değerini döndürür. |
İletiler arasında gezinirken bir alanın mevcut olduğu, yalnızca varsayılan olmayan bir değere sahipse kabul edilir.
Sınırlamalar
Her hizmet, burada tanımlananlara ek olarak filtre sorguları için daha fazla yapı veya sınırlama belirtebilir.
Sipariş
Ad Manager API, List
yöntemlerinde sıralamayı destekler. orderBy
alanlarının söz dizimi, alan adlarının virgülle ayrılmış bir listesidir. Örneğin:
"foo,bar"
.
Varsayılan sıralama düzeni artan düzendir. Bir alan için azalan düzen belirtmek üzere " desc"
son eki ekleyin. Örneğin: "foo desc, bar"
.
Söz diziminde gereksiz boşluk karakterleri yoksayılır. "foo, bar desc"
, " foo , bar desc "
ve "foo,bar desc"
değerleri birbirine eşdeğerdir.
Alt alanlar, geçiş operatörü ile belirtilir. Örneğin, foo.bar
veya address.street
.