การแมป JSON

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

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

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

ตัวอย่างเช่น คำค้นหาเพื่อดึงรายการคีย์เวิร์ดที่ใช้งานอยู่ในบัญชีจะใช้รูปแบบงูภายในตัวคำค้นหา (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) และใช้ตัวระบุ ComelCase adGroupCriterion แทน ดังนี้

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