JSON 對應

使用 Google Ads API 的 REST 介面時,您會處理 Google Ads API .proto 描述元檔案中定義的相同資源和型別的 JSON 表示法。JSON 編碼架構遵循通訊協定緩衝區語言指南JSON 對應」一節中說明的標準編碼架構。

一般來說,所有傳送至服務和從服務傳送的頂層訊息都是單一 JSON 物件。大多數變動要求都包含 operations 陣列,該陣列本身包含許多 createupdatedelete 作業。同樣地,search 回應是 JSON 物件,內含 results 陣列,其中包含查詢的結果集。

識別碼會從 snake_case (在通訊協定緩衝區中) 轉換為 JSON 中的 lowerCamelCase。使用 searchsearchStream 傳送 Google Ads 查詢語言查詢時,這項規則會有一項顯著的但書。無論使用哪個介面,查詢語言本身都會使用蛇形命名法。不過,REST 中的查詢結果會以一般 JSON 物件的形式傳回,且 ID 會採用 lowerCamelCase 格式。

舉例來說,查詢擷取帳戶中有效關鍵字清單時,查詢本身會使用蛇形命名法 (ad_group_criterion,而非 adGroupCriterion):

POST /v21/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 陣列中),並使用 camelCase 識別碼 adGroupCriterion

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