JSON 對應

使用 Google Ads API 的 REST 介面時,需使用 JSON 表示與 Google Ads API .proto 描述元檔案。JSON 編碼配置會遵循 「標準編碼配置」中 通訊協定的「JSON Mapping」區段 緩衝區語言指南。

一般而言,所有頂層郵件的收發作業 services 是單一 JSON 物件。 大部分 變更 要求包含的 operations 陣列,本身也包含多個 create、update 或 delete 作業。同樣地,search 回應 包含 results 陣列與查詢結果集的 JSON 物件。

ID 會從 snake_case (通訊協定緩衝區中) 轉換為 JSON 中的 lowerCamelCase。這項規則有一個需要注意的地方 search 或 searchStream 可傳送 Google Ads 查詢語言 舉個簡單的例子,您可以定義情境 並指示 AI 如何回應服務中心查詢無論查詢語言為何,查詢語言本身都會使用蛇形 介面不過,REST 中的查詢結果會以 一般 JSON 物件,而這些物件的 ID 格式為 smallCamelCase。

例如,為了擷取帳戶中有效關鍵字清單的查詢,所執行的查詢會使用 查詢本身包含蛇形大小寫 (ad_group_criterion,而非 adGroupCriterion):

POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.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 表示法 (以 JSON 格式包裝) 陣列中,因為此要求使用 searchStream),且使用駝峰式大小寫 ID 改為使用 adGroupCriterion:

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