การแมป JSON

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

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

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

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

POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.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"
          }
        }
      },
      ...
    ]
  }
]