การแมป JSON

เมื่อใช้อินเทอร์เฟซ REST ของ Search Ads 360 Reporting API คุณจะใช้การแสดง JSON ของทรัพยากรและประเภทเดียวกันกับที่กำหนดไว้ในไฟล์ตัวอธิบาย .proto ของ Search Ads 360 Reporting API รูปแบบการเข้ารหัส JSON เป็นไปตาม รูปแบบการเข้ารหัส Canonical ที่อธิบายไว้ใน ส่วนการแมป JSON ของบัฟเฟอร์โปรโตคอล คู่มือภาษา

โดยทั่วไป ข้อความระดับบนสุดทั้งหมดที่ส่งไปยังและจาก บริการจะเป็นออบเจ็กต์ JSON รายการเดียว การตอบกลับ search จะเป็นออบเจ็กต์ JSON ที่มีอาร์เรย์ results พร้อมชุดผลลัพธ์ของการค้นหา

ตัวระบุจะได้รับการแปลงจาก snake_case (ในบัฟเฟอร์โปรโตคอล) เป็น lowerCamelCase ใน JSON ข้อควรระวังที่สำคัญเกี่ยวกับกฎนี้คือเมื่อใช้ search หรือ searchStream เพื่อส่ง การค้นหาภาษาการค้นหาของ Search Ads 360 ภาษาการค้นหาเองจะใช้ snake case ไม่ว่าคุณจะใช้อินเทอร์เฟซใดก็ตาม อย่างไรก็ตาม ผลลัพธ์ของการค้นหาใน REST จะแสดงเป็นออบเจ็กต์ JSON ปกติและมีตัวระบุใน lowerCamelCase

ตัวอย่างเช่น การค้นหาเพื่อดึงข้อมูลรายการคีย์เวิร์ดที่ใช้งานอยู่ในบัญชีจะใช้ snake case ภายในตัวการค้นหาเอง (ad_group_criterion ไม่ใช่ adGroupCriterion)

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
  "query": "SELECT ad_group_criterion.keyword.text
            FROM ad_group_criterion
            WHERE ad_group_criterion.type = 'KEYWORD'
            AND ad_group_criterion.status = 'ENABLED'"
}

อย่างไรก็ตาม การตอบกลับจะเป็นการแสดง JSON ของออบเจ็กต์ (ห่อด้วยอาร์เรย์ JSON เนื่องจากคำขอนี้ใช้ searchStream) และใช้ตัวระบุ camelCase adGroupCriterion แทน

[
  {
    "results": [
      {
        "adGroupCriterion": {
          "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
          "keyword": {
            "text": "pay per click"
          }
        }
      },
      ...
    ]
  }
]