Filtreler

Ad Manager REST API, List yöntemlerinde filtrelemeyi destekler. Filtre dizesi söz dizimi EBNF dilbilgisinde resmi olarak tanımlanmıştır.

Başlamak için aşağıda genel kullanım alanlarına örnekler verilmiştir.

Örnek Anlamı
orders.updateTime > "2024-01-01T00:00:00-5:00" Doğu Standart Saat Diliminde 1 Ocak 2024'ten sonra updateTime olan siparişleri listeler
lineItems.targeting.geoTargeting.targetedGeoIds:2840 Amerika Birleşik Devletleri'ni içeren coğrafi hedeflemeye sahip satır öğelerini listeler (coğrafi hedef kimliği 2480)
lineItems.displayName = "*_interstitial" _interstitial dizesiyle biten bir görünen ada sahip satır öğelerini listeler
orders.displayName = "*video*" video dizesini içeren bir görünen ada sahip siparişleri listeler
displayName:"video" video dizesini içeren bir görünen ada sahip siparişleri listeler (alternatif söz dizimi)

Değişmez değerler

Sadece değişmez değer (örnek: 42, Hugo), eşleştirilecek bir değerdir. Tek başına görünen hazır değerler, bir kaynakta desteklenen tüm alanlarla eşleştirilir. Kaynaklar, list yönteminde hangi alanların eşleştirme için dikkate alındığını belgeler. Bu özellik, Ad Manager kullanıcı arayüzündeki evrensel aramaya benzer ancak tek bir kaynak türünü kapsamaktadı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 kullanılamaz.

Mantıksal operatörler

Ad Manager REST 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 alır.
OR a OR b OR c a, b ve c değerlerinden herhangi biri doğruysa doğrudur.

Olumsuzlama operatörleri

Ad Manager REST API, NOT ve - birli operatörleri sağlar. Bunlar 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 REST API'si 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 alır.
!= a != 42 a 42'ye eşit değilse doğru değerini alır.
< a < 42 a, 42'den küçük bir sayısal değerse doğru değerini alır.
> a > "foo" a, sözlükte "foo" ifadesinden sonra sıralanırsa doğru değerini alır.
<= a <= "foo" a, kendisinden önce "foo" veya sözlükçe doğruysa doğrudur.
>= a >= 42 a, 42 veya daha büyük bir sayısal değerse doğru değerini alır.

Filtreler sorgu dizeleri olarak kabul edildiğinden dizeyi, güçlü bir şekilde yazılmış uygun değere çevirmek için tür dönüşümü gerçekleştirilir:

  • Dizeler çift tırnak bekler. Örnek: "Foo bar".
  • Sıralamalar, numaralandırmanın dize temsilini bekler (büyük/küçük harfe duyarlı).
  • Boole değerleri, true ve false değişmez değerleri bekler.
  • Sayılar için standart tam sayı veya kayan gösterim gerekir. Kayan reklamlar için üsler desteklenir. Örnek: 2.997e9.
  • Sürelerde sayısal bir gösterim ve ardından s son eki (saniye için) beklenir. Örnekler: "20s", "1.2s".
  • Zaman damgaları, RFC-3339 biçimli bir dize bekler. Örnek: "2012-04-21T11:30:00-04:00". UTC ofsetleri desteklenir.

Joker Karakterler

Ad Manager REST 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ğrudur.

Geçiş operatörü

Ad Manager REST API, bir mesaj, harita veya struct üzerinden geçişi gösteren . operatörünü destekler.

Örnek Anlamı
a.b = true a alanında doğru değerine ayarlanmış bir boole b alanı varsa doğru değerini alır.
a.b > 42 a alanındaki b alanı 42'den büyükse doğru değerini alır.
a.b.c = "foo" a.b, "foo" adlı bir c dizesi alanına sahipse doğru değerini alır.

Geçiş, kaynaktaki alan adları kullanılarak yazılır. Bağımsız hizmetler, geçiş için desteklenen alanların bir alt kümesini belirtebilir.

Operatörü var

Ad Manager REST API, "has" anlamına gelen : operatörünü destekler. Koleksiyonlar (yinelenen alanlar veya haritalar), mesajlar ve Dizelerle kullanılabilir ve her durumda biraz farklı davranır.

Dize alanları, dizenin eşleşen bir alt dize içerip içermediğini görmek için sorgulayın:

Örnek Anlamı
r.displayName:"_250x250" Dize alanı r.displayName alanı _250x250 alt dizesini içeriyorsa doğru değerini alır.

Yinelenen yapının eşleşen bir öğe içerip içermediğini görmek için tekrarlanan alanlar sorgulanır:

Örnek Anlamı
r:42 r 42 içeriyorsa doğru değerini alır.
r.foo:42 r, e.foo = 42 gibi bir e öğesi içeriyorsa doğru değerini alır.

Haritalar, yapılar ve mesajlar, haritadaki bir alanın veya belirli bir değerin bulunup bulunmadığını sorgulayabilir:

Örnek Anlamı
m:foo m, "foo" anahtarını içeriyorsa doğru değerini alır.
m.foo:* m, "foo" anahtarını içeriyorsa doğru değerini alır.
m.foo:42 m.foo, 42 ise doğru değerini alır.

Mesajlar arasında geçiş yaparken, yalnızca varsayılan olmayan bir değere sahip alanlar var olarak kabul edilir.

Sınırlamalar

Bağımsız hizmetler, burada tanımlananlara ek olarak filtre sorguları için ek yapı veya sınırlamalar belirtebilir.

Sipariş

Ad Manager REST API, List yöntemlerinde sıralamayı destekler. orderBy alanları için 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üzendedir. Bir alanda azalan sırayı belirtmek için " desc" soneki ekleyin. Örneğin: "foo desc, bar".

Söz dizimindeki gereksiz boşluk karakterleri yoksayılır. "foo, bar desc", " foo , bar desc " ve "foo,bar desc" değerleri eşdeğerdir.

Alt alanlar, geçiş operatörüyle belirtilir. Örneğin: foo.bar veya address.street.