การแมป JSON

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

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

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

ตัวอย่างเช่น คําค้นหาสําหรับดึงรายการคีย์เวิร์ดที่ใช้งานอยู่ในบัญชีใช้กรณีงูภายในคําค้นหานั้น (ad_group_criterion ไม่ใช่ adGroupCriterion)

POST /v16/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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) และใช้ตัวระบุ CamlCase adGroupCriterion แทน

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