JSON 對應

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

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

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

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

POST /v17/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 表示法 (以 JSON 格式包裝) 陣列中,因為此要求使用 searchStream),且使用駝峰式大小寫 ID 改為使用 adGroupCriterion

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