การแมป JSON

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

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

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

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

POST /v17/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"
          }
        }
      },
      ...
    ]
  }
]