Ánh xạ JSON

Khi sử dụng giao diện REST của Search Ads 360 Reporting API, bạn đang làm việc với các biểu thị JSON của cùng một tài nguyên và loại được xác định trong các tệp mô tả.proto của Search Ads 360 Reporting API's. Lược đồ mã hoá JSON tuân theo lược đồ mã hoá chính tắc được mô tả trong phần Ánh xạ JSON của Hướng dẫn về ngôn ngữ bộ đệm giao thức.

Nhìn chung, tất cả các thông báo cấp cao nhất đến và từ các dịch vụ đều là các đối tượng JSON riêng lẻ. Phản hồi search là các đối tượng JSON chứa một mảng results với tập kết quả của truy vấn.

Các mã 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 lưu ý đáng chú ý đối với quy tắc này là khi sử dụng search hoặc searchStream để gửi truy vấn bằng Ngôn ngữ truy vấn Search Ads 360. Bản thân ngôn ngữ truy vấn sử dụng kiểu viết con rắn (viết thường chữ cái đầu tiên và thay dấu cách bằng dấu gạch dưới), 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ó mã nhận dạng ở dạng lowerCamelCase.

Ví dụ: một truy vấn để tìm nạp danh sách từ khoá đang hoạt động trong một tài khoản sử dụng kiểu viết con rắn (viết thường chữ cái đầu tiên và thay dấu cách bằng dấu gạch dưới) bên trong chính truy vấn đó (ad_group_criterion, không phải adGroupCriterion):

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.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'"
}

Tuy nhiên, phản hồi là một biểu thị 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 mã nhận dạng camelCase adGroupCriterion:

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