使用 Google Ads API 的 REST 介面時,您會處理 Google Ads API .proto 描述元檔案中定義的相同資源和類型,以 JSON 表示。JSON 編碼配置遵循通訊協定緩衝區語言指南中「JSON 對應」一節所述的標準編碼配置。
一般來說,與服務往來的所有頂層訊息都是單一 JSON 物件。大多數變更要求都包含 operations 陣列,其中包含許多 create、update 或 delete 作業。同樣地,search 回應是 JSON 物件,其中包含含有查詢結果集的 results 陣列。
識別碼會從 snake_case (在通訊協定緩衝區中) 轉換為 JSON 中的 lowerCamelCase。使用 search 或 searchStream 傳送 Google Ads 查詢語言查詢時,這項規則有一項值得注意的但書。無論使用哪個介面,查詢語言本身都會使用蛇形命名法。不過,REST 查詢結果會以一般 JSON 物件的形式傳回,且 ID 會採用 lowerCamelCase。
舉例來說,如要擷取帳戶中的有效關鍵字清單,查詢本身會使用蛇形命名法 (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 表示法 (由於這項要求使用 searchStream,因此會包裝在 JSON 陣列中),並使用 camelCase 識別碼 adGroupCriterion:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]