Pemetaan JSON

Saat menggunakan antarmuka REST Google Ads API, Anda bekerja dengan representasi JSON dari resource dan jenis yang sama yang ditentukan di file deskripsi.proto Google Ads API. Skema encoding JSON mengikuti skema encoding kanonis yang dijelaskan di bagian Pemetaan JSON dalam Panduan Bahasa buffering protokol.

Secara umum, semua pesan level teratas ke dan dari layanan adalah objek JSON tunggal. Sebagian besar permintaan mutasi berisi array operations yang berisi banyak operasi create, update, atau delete. Demikian pula, respons search adalah objek JSON yang berisi array results dengan kumpulan hasil kueri Anda.

ID diubah dari snake_case (dalam buffering protokol) menjadi lowerCamelCase di JSON. Salah satu peringatan penting untuk aturan ini adalah saat menggunakan search atau searchStream untuk mengirim kueri Bahasa Kueri Google Ads. Bahasa kueri itu sendiri menggunakan huruf snake, terlepas dari antarmuka yang Anda gunakan. Namun, hasil kueri di REST ditampilkan sebagai objek JSON normal dan memiliki ID-nya di lowCamelCase.

Misalnya, kueri untuk mengambil daftar kata kunci aktif di akun menggunakan kasus ular di dalam kueri itu sendiri (ad_group_criterion, bukan 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'"
}

Namun, responsnya adalah representasi JSON dari objek (digabungkan dalam array JSON karena permintaan ini menggunakan searchStream) dan menggunakan ID camelCase adGroupCriterion:

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