JSON 對應

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

一般而言,與服務之間的所有頂層訊息,都是單一 JSON 物件。大部分的 mut 要求包含的 operations 陣列本身,包含許多 createupdatedelete 作業。同樣地,search 回應是 JSON 物件,當中包含 results 陣列,其中含有查詢結果。

ID 會在 JSON 中從 snake_case (在通訊協定緩衝區中) 轉換為 lowerCamelCase。這項規則的其中一個注意事項,就是使用 searchsearchStream 傳送 Google Ads 查詢語言查詢。無論使用何種介面,查詢語言本身都會使用蛇型大小寫。不過,REST 中的查詢結果會以一般 JSON 物件的形式傳回,並在其 ID 中產生 CCmelCase。

例如,擷取帳戶中有效關鍵字清單的查詢,會使用查詢本身 (ad_group_criterion,而非 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'"
}

不過,回應是 JSON 表示法的物件 (因為這個要求使用 searchStream),所以包含在 JSON 陣列中,並改用駱 lCase ID:adGroupCriterion

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