Ánh xạ JSON

Khi sử dụng giao diện REST của API Google Ads, bạn sẽ làm việc với các bản trình bày JSON của cùng một tài nguyên và loại được xác định trong tệp tên mô tả.proto của API Google Ads. Giao thức mã hoá JSON tuân theo sơ đồ mã hoá chính tắc được mô tả trong phần Bản đồ JSON của vùng đệm giao thức Hướng dẫn ngôn ngữ.

Nhìn chung, tất cả thông báo cấp cao nhất đến và từ dịch vụ là các đối tượng JSON đơn lẻ. Hầu hết các yêu cầu đột biến đều chứa một mảng operations chứa nhiều thao tác create, update hoặc delete. Tương tự, phản hồi search là các đối tượng JSON chứa mảng results với tập hợp kết quả của truy vấn.

Giá trị nhận dạng được chuyển đổi từ snake_case (trong vùng đệm giao thức) thành lowerCamelCase trong JSON. Một điều quan trọng cần lưu ý về quy tắc này là khi sử dụng search hoặc searchStream để gửi các truy vấn Ngôn ngữ truy vấn Google Ads. Bản thân ngôn ngữ truy vấn sử dụng dấu gạch chéo, bất kể bạn đang sử dụng giao diện nào. Tuy nhiên, kết quả của một truy vấn trong REST được trả về dưới dạng các đối tượng JSON thông thường và có giá trị nhận dạng của chúng trong LowerCamelCase.

Ví dụ: một truy vấn để tìm nạp danh sách các từ khóa đang hoạt động trong một tài khoản sẽ sử dụng chữ thường trong chính truy vấn (ad_group_criterion, chứ không phải 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'"
}

Tuy nhiên, phản hồi là đại diện JSON của các đối tượng (được gói trong một mảng JSON vì yêu cầu này sử dụng searchStream) và sử dụng giá trị nhận dạng camelCase adGroupCriterion

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