JSON 對應

使用 Search Ads 360 Reporting API 的 REST 介面時,您正在使用 JSON 表示法,這類資源與 Search Ads 360 Reporting API .proto 描述元檔案中定義的相同資源和類型。JSON 編碼配置遵循通訊協定緩衝區「語言指南」中「JSON 對應」一節所述的標準編碼配置。

一般而言,與 services 互傳的所有頂層訊息都是單一 JSON 物件。search 回應是 JSON 物件,其中包含含有查詢結果集的 results 陣列。

ID 會透過 JSON 中的 snake_case (在通訊協定緩衝區中) 轉換為 lowerCamelCase。此規則的一項重要重點是,使用 searchsearchStream 傳送 Search Ads 360 查詢語言查詢時。無論您使用何種介面,查詢語言本身都會使用蛇的大小寫。不過,REST 中的查詢結果會以一般 JSON 物件的形式傳回,其 ID 則以 lowCamelCase 表示。

舉例來說,為了擷取帳戶中有效關鍵字清單的查詢,查詢作業會在查詢本身 (ad_group_criterion,而非 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'"
}

不過,回應是物件的 JSON 表示法 (此要求使用 searchStream,因此以 JSON 陣列包裝),並改用駝峰式 ID adGroupCriterion

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