Ad Manager API mendukung pemfilteran pada metode List
. Sintaksis string filter
ditentukan secara formal dalam tata bahasa
EBNF.
Untuk memulai, berikut beberapa contoh kasus penggunaan umum.
Contoh | Arti |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
Mencantumkan pesanan dengan updateTime setelah 1 Januari 2024 dalam Zona Waktu Standar Timur |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
Mencantumkan item baris dengan penargetan geografis yang berisi Amerika Serikat (ID target geografis 2480 ) |
lineItems.displayName = "*_interstitial" |
Mencantumkan item baris yang memiliki nama tampilan yang diakhiri dengan string _interstitial |
orders.displayName = "*video*" |
Mencantumkan pesanan yang memiliki nama tampilan yang berisi string video |
displayName:"video" |
Mencantumkan pesanan yang memiliki nama tampilan yang berisi string video (sintaksis alternatif) |
Literal
Nilai literal murni (contoh: 42
, Hugo
) adalah nilai yang akan dicocokkan.
Literal yang muncul sendiri dicocokkan secara fuzzy dengan semua kolom yang didukung
di resource. Referensi mendokumentasikan kolom mana yang dipertimbangkan untuk pencocokan pada
metode list
. Fitur ini sebanding dengan penelusuran universal
di UI Ad Manager, tetapi dicakup untuk satu jenis resource.
Literal string yang berisi spasi harus diapit tanda kutip ganda (contoh: "Foo bar"
). Tanda kutip tunggal tidak dapat digunakan untuk mengapit literal string.
Operator logika
Ad Manager API mendukung operator biner AND
dan OR
.
Operator | Contoh | Arti |
---|---|---|
AND |
a AND b |
Benar jika a dan b benar. |
OR |
a OR b OR c |
Benar jika salah satu dari a , b , c benar. |
Operator negasi
Ad Manager API menyediakan operator unary NOT
dan -
.
Kedua istilah ini dapat digunakan secara bergantian.
Operator | Contoh | Arti |
---|---|---|
NOT |
NOT a |
Benar jika a tidak benar. |
- |
-a |
Benar jika a tidak benar. |
Operator perbandingan
Ad Manager API mendukung operator perbandingan biner
=
, !=
, <
, >
, <=
, dan >=
untuk kolom string, numerik, stempel waktu, dan
durasi.
Operator | Contoh | Arti |
---|---|---|
= |
a = true |
Benar jika a benar. |
!= |
a != 42 |
Benar kecuali jika a sama dengan 42. |
< |
a < 42 |
Benar jika a adalah nilai numerik yang kurang dari 42. |
> |
a > "foo" |
Benar jika a diurutkan secara leksikonis setelah "foo". |
<= |
a <= "foo" |
Benar jika a adalah "foo" atau secara leksik sebelumnya. |
>= |
a >= 42 |
Benar jika a adalah nilai numerik 42 atau lebih tinggi. |
Karena filter diterima sebagai string kueri, konversi jenis akan dilakukan untuk menerjemahkan string ke nilai strongly-typed yang sesuai:
- String mengharapkan tanda kutip ganda. Contoh:
"Foo bar"
. - Enum memerlukan representasi string enum (peka huruf besar/kecil).
- Boolean mengharapkan nilai literal
true
danfalse
. - Angka mengharapkan representasi bilangan bulat atau float standar. Untuk float,
eksponen didukung. Contoh:
2.997e9
. - Durasi mengharapkan representasi numerik yang diikuti dengan akhiran
s
(untuk detik). Contoh:"20s"
,"1.2s"
. - Stempel waktu mengharapkan string berformat
RFC-3339.
Contoh:
"2012-04-21T11:30:00-04:00"
. Selisih waktu UTC didukung.
Karakter pengganti
Saat membandingkan string untuk kesetaraan, Ad Manager API mendukung
karakter pengganti menggunakan karakter *
.
Contoh | Arti |
---|---|
a = "*.foo" |
Benar jika a berakhir dengan ".foo". |
Operator traversal
Ad Manager API mendukung operator .
, yang menunjukkan
perjalanan melalui pesan, peta, atau struct.
Contoh | Arti |
---|---|
a.b = true |
Benar jika a memiliki kolom b boolean yang benar. |
a.b > 42 |
Benar jika a memiliki kolom b numerik yang lebih besar dari 42. |
a.b.c = "foo" |
Benar jika a.b memiliki kolom c string yang berupa "foo". |
Pelacakan ditulis menggunakan nama kolom dari resource. Setiap layanan dapat menentukan subset kolom yang didukung untuk traversal.
Memiliki operator
Ad Manager API mendukung operator :
, yang berarti "memiliki".
Parameter ini dapat digunakan dengan koleksi (kolom atau peta berulang), pesan, dan String, serta memiliki perilaku yang sedikit berbeda dalam setiap kasus.
Kueri kolom string untuk melihat apakah string berisi substring yang cocok:
Contoh | Arti |
---|---|
r.displayName:"_250x250" |
Benar jika kolom String r.displayName berisi substring _250x250 . |
Kueri kolom berulang untuk melihat apakah struktur berulang berisi elemen yang cocok:
Contoh | Arti |
---|---|
r:42 |
Benar jika r berisi 42. |
r.foo:42 |
Benar jika r berisi elemen e sedemikian rupa sehingga e.foo = 42 . |
Peta, struct, dan pesan dapat membuat kueri untuk mengetahui keberadaan kolom dalam peta atau nilai tertentu:
Contoh | Arti |
---|---|
m:foo |
Benar jika m berisi kunci "foo". |
m.foo:* |
Benar jika m berisi kunci "foo". |
m.foo:42 |
Benar jika m.foo adalah 42. |
Saat menjelajahi pesan, kolom hanya dianggap ada jika memiliki nilai non-default.
Batasan
Setiap layanan dapat menentukan struktur atau batasan lebih lanjut untuk kueri filter selain yang ditentukan di sini.
Pesan
Ad Manager API mendukung pengurutan pada metode List
. Sintaksis untuk kolom orderBy
adalah daftar nama kolom yang dipisahkan koma. Misalnya:
"foo,bar"
.
Urutan pengurutan default adalah menaik. Untuk menentukan urutan menurun untuk kolom,
tambahkan akhiran " desc"
. Contoh: "foo desc, bar"
.
Karakter spasi yang berlebihan dalam sintaksis akan diabaikan. Nilai
"foo, bar desc"
, " foo , bar desc "
, dan "foo,bar desc"
semuanya setara.
Subkolom ditentukan dengan operator traversal. Contoh: foo.bar
atau address.street
.