ตัวกรอง

Ad Manager API รองรับการกรองในวิธีการ List รูปแบบสตริงตัวกรองจะกําหนดอย่างเป็นทางการในไวยากรณ์ EBNF

ตัวอย่างกรณีการใช้งานที่พบได้ทั่วไปมีดังนี้

ตัวอย่าง ความหมาย
orders.updateTime > "2024-01-01T00:00:00-5:00" แสดงคำสั่งซื้อที่มี updateTime หลังวันที่ 1 มกราคม 2024 ตามเขตเวลามาตรฐานตะวันออก
lineItems.targeting.geoTargeting.targetedGeoIds:2840 แสดงรายการโฆษณาที่มีการกำหนดเป้าหมายตามภูมิศาสตร์ซึ่งมีสหรัฐอเมริกา (รหัสเป้าหมายตามภูมิศาสตร์ 2480)
lineItems.displayName = "*_interstitial" แสดงรายการโฆษณาที่มีชื่อที่แสดงซึ่งลงท้ายด้วยสตริง _interstitial
orders.displayName = "*video*" แสดงคำสั่งซื้อที่มีชื่อที่แสดงซึ่งมีสตริง video
displayName:"video" แสดงคำสั่งซื้อที่มีชื่อที่แสดงซึ่งมีสตริง video (ไวยากรณ์สำรอง)

ลิเทอรัล

ค่าที่เป็นตัวอักษรล้วน (เช่น 42, Hugo) คือค่าที่จะจับคู่ ข้อความที่ปรากฏขึ้นเพียงอย่างเดียวจะจับคู่แบบไม่ตรงทั้งหมดกับช่องที่รองรับทั้งหมดในทรัพยากร แหล่งข้อมูลจะระบุฟิลด์ที่ระบบจะพิจารณาจับคู่ในวิธีการ list ฟีเจอร์นี้เทียบเท่ากับการค้นหาแบบ universal ใน UI ของ Ad Manager แต่มีขอบเขตเป็นทรัพยากรประเภทเดียว

ควรตัดสตริงที่เป็นค่าคงที่ซึ่งมีเว้นวรรคด้วยเครื่องหมายคำพูดคู่ (เช่น "Foo bar") และใช้เครื่องหมายคำพูดเดี่ยวเพื่อตัดสตริงที่เป็นค่าคงที่ไม่ได้

โอเปอเรเตอร์ตรรกะ

Ad Manager API รองรับโอเปอเรเตอร์ไบนารี AND และ OR

โอเปอเรเตอร์ ตัวอย่าง ความหมาย
AND a AND b เป็นจริงหาก a และ b เป็นจริง
OR a OR b OR c จริงหาก a, b, c เป็นจริง

โอเปอเรเตอร์การปฏิเสธ

Ad Manager API มีโอเปอเรเตอร์แบบยูนาร์ NOT และ - ซึ่งใช้แทนกันได้

โอเปอเรเตอร์ ตัวอย่าง ความหมาย
NOT NOT a เป็นจริงหาก a ไม่ใช่จริง
- -a เป็นจริงหาก a ไม่ใช่จริง

โอเปอเรเตอร์การเปรียบเทียบ

Ad Manager API รองรับโอเปอเรเตอร์การเปรียบเทียบแบบไบนารี =, !=, <, >, <= และ >= สําหรับฟิลด์สตริง ตัวเลข การประทับเวลา และระยะเวลา

โอเปอเรเตอร์ ตัวอย่าง ความหมาย
= a = true เป็นจริงหาก a เป็นจริง
!= a != 42 จริง เว้นแต่ a จะเท่ากับ 42
< a < 42 เป็นจริงหาก a เป็นค่าตัวเลขที่น้อยกว่า 42
> a > "foo" จริงหาก a มีลําดับตามลําดับคําหลังจาก "foo"
<= a <= "foo" เป็นจริงหาก a คือ "foo" หรืออยู่ก่อนหน้าในเชิงคําศัพท์
>= a >= 42 จริงหาก a เป็นค่าตัวเลขที่มากกว่าหรือเท่ากับ 42

เนื่องจากระบบยอมรับตัวกรองเป็นสตริงการค้นหา ระบบจึงจะแปลงประเภทเพื่อแปลสตริงเป็นค่าที่มีการกำหนดประเภทอย่างเข้มงวดที่เหมาะสม ดังนี้

  • สตริงต้องใช้เครื่องหมายอัญประกาศคู่ ตัวอย่าง: "Foo bar"
  • Enums ต้องการการนําเสนอสตริงของ enum (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
  • บูลีนต้องการค่าลิเทอรัล true และ false
  • ตัวเลขควรเป็นจำนวนเต็มหรือทศนิยมมาตรฐาน สำหรับตัวเลขทศนิยม ระบบจะรองรับตัวคูณ ตัวอย่าง: 2.997e9
  • ระยะเวลาควรเป็นตัวเลขตามด้วยส่วนต่อท้าย s (สำหรับวินาที) ตัวอย่างเช่น "20s", "1.2s"
  • การประทับเวลาต้องการสตริงรูปแบบ RFC-3339 ตัวอย่าง: "2012-04-21T11:30:00-04:00" ระบบรองรับความต่างเวลา UTC

สัญลักษณ์แทน

เมื่อเปรียบเทียบสตริงเพื่อหาค่าที่เท่ากัน Ad Manager API รองรับไวลด์การ์ดโดยใช้อักขระ *

ตัวอย่าง ความหมาย
a = "*.foo" จริงหาก a ลงท้ายด้วย ".foo"

โอเปอเรเตอร์การท่องเว็บ

Ad Manager API รองรับโอเปอเรเตอร์ . ซึ่งระบุการเรียกใช้ผ่านข้อความ แผนที่ หรือโครงสร้าง

ตัวอย่าง ความหมาย
a.b = true เป็นจริงหาก a มีช่องบูลีน b ที่จริง
a.b > 42 เป็นจริงหาก a มีฟิลด์ b ที่เป็นตัวเลขมากกว่า 42
a.b.c = "foo" เป็นจริงหาก a.b มีฟิลด์สตริง c เป็น "foo"

การเรียกใช้นี้จะเขียนโดยใช้ชื่อช่องจากแหล่งข้อมูล บริการแต่ละรายการอาจระบุชุดย่อยของฟิลด์ที่รองรับการเรียกดู

มีโอเปอเรเตอร์

Ad Manager API รองรับโอเปอเรเตอร์ : ซึ่งหมายถึง "มี" สามารถใช้กับคอลเล็กชัน (ฟิลด์หรือแผนที่ที่ซ้ำกัน) ข้อความ และสตริง โดยลักษณะการทำงานจะแตกต่างกันเล็กน้อยในแต่ละกรณี

การค้นหาฟิลด์สตริงเพื่อดูว่าสตริงมีสตริงย่อยที่ตรงกันหรือไม่

ตัวอย่าง ความหมาย
r.displayName:"_250x250" เป็นจริงหากช่องสตริง r.displayName มีสตริงย่อย _250x250

การค้นหาฟิลด์ที่ซ้ำเพื่อดูว่าโครงสร้างที่ซ้ำมีองค์ประกอบที่ตรงกันหรือไม่

ตัวอย่าง ความหมาย
r:42 จริงหาก r มี 42
r.foo:42 จริงหาก r มีองค์ประกอบ e ดังที่ e.foo = 42

แผนที่ โครงสร้าง และข้อความสามารถค้นหาว่ามีช่องในแผนที่หรือค่าที่เฉพาะเจาะจงหรือไม่ โดยทำดังนี้

ตัวอย่าง ความหมาย
m:foo จริงหาก m มีคีย์ "foo"
m.foo:* จริงหาก m มีคีย์ "foo"
m.foo:42 จริงหาก m.foo เป็น 42

เมื่อเรียกดูข้อความ ระบบจะถือว่ามีฟิลด์อยู่ก็ต่อเมื่อฟิลด์นั้นมีค่าที่ไม่ใช่ค่าเริ่มต้นเท่านั้น

ข้อจำกัด

บริการแต่ละรายการสามารถระบุโครงสร้างหรือข้อจํากัดเพิ่มเติมสําหรับการค้นหาตัวกรองนอกเหนือจากที่กําหนดไว้ที่นี่

สั่งซื้อ

ทรัพยากรส่วนใหญ่รองรับการสั่งซื้อในวิธีการ List โปรดดูเอกสารประกอบของList method เพื่อดูลักษณะการทํางานของทรัพยากรที่แน่นอนและฟิลด์ที่รองรับสำหรับการสั่งซื้อ

ไวยากรณ์สำหรับช่อง orderBy คือรายการชื่อช่องที่คั่นด้วยคอมมา เช่น "foo,bar"

ลำดับการจัดเรียงเริ่มต้นคือจากน้อยไปมาก หากต้องการระบุลําดับจากมากไปน้อยสําหรับช่อง ให้ใส่ส่วนต่อท้าย " desc" ต่อท้าย ตัวอย่างเช่น "foo desc, bar"

ระบบจะไม่สนใจอักขระเว้นวรรคที่ซ้ำกันในไวยากรณ์ ค่า "foo, bar desc", " foo , bar desc " และ "foo,bar desc" ทั้งหมดเทียบเท่ากัน

ระบุช่องย่อยด้วยโอเปอเรเตอร์การเรียกดู เช่น foo.bar หรือ address.street