ฟิลเตอร์

REST API ของ Ad Manager รองรับการกรองในเมธอด 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 ฟีเจอร์นี้คล้ายกับการค้นหาอเนกประสงค์ใน UI ของ Ad Manager แต่จำกัดขอบเขตอยู่ที่ทรัพยากรประเภทเดียว

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

โอเปอเรเตอร์เชิงตรรกะ

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

ผู้ประกอบธุรกิจ ตัวอย่าง ความหมาย
AND a AND b เป็นจริงหาก a และ b เป็นจริง
OR a OR b OR c เป็นจริงหากมี a, b, c เป็นจริง

โอเปอเรเตอร์นิเสธ

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

ผู้ประกอบธุรกิจ ตัวอย่าง ความหมาย
NOT NOT a เป็นจริงหาก a ไม่เป็นความจริง
- -a เป็นจริงหาก a ไม่เป็นความจริง

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

Ad Manager REST 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 REST API จะรองรับไวลด์การ์ดโดยใช้อักขระ *

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

โอเปอเรเตอร์การส่งผ่าน

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

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

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

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

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

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

ตัวอย่าง ความหมาย
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

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

ข้อจำกัด

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

สั่งซื้อ

REST API ของ Ad Manager รองรับการจัดลำดับในเมธอด List ไวยากรณ์สำหรับช่อง orderBy คือรายการชื่อช่องที่คั่นด้วยคอมมา ตัวอย่างเช่น "foo,bar"

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

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

ฟิลด์ย่อยจะระบุด้วยโอเปอเรเตอร์การข้ามผ่าน ตัวอย่างเช่น foo.bar หรือ address.street