使用 Google Ads API 的 REST 介面時,您會使用 Google Ads API .proto 描述詞檔案中定義的相同資源和類型的 JSON 表示法。JSON 編碼配置方案會遵循「Language Guide」中的「JSON Mapping」一節所述的標準編碼配置方案。
一般來說,所有進出 服務的頂層訊息都是單一 JSON 物件。大多數的變異要求都包含 operations
陣列,而陣列本身包含許多 create
、update
或 delete
作業。同樣地,search
回應是 JSON 物件,其中包含含有查詢結果集的 results
陣列。
在 JSON 中,系統會將 ID 從 snake_case (在通訊協定緩衝區中) 轉換為 lowerCamelCase。這項規則的一個重要注意事項是,如果您使用 search
或 searchStream
傳送 Google Ads 查詢語言查詢,無論您使用哪個介面,查詢語言本身都會使用蛇形命名規則。不過,REST 中的查詢結果會以一般 JSON 物件的形式傳回,且其 ID 會以 lowerCamelCase 格式顯示。
舉例來說,用於擷取帳戶中有效關鍵字清單的查詢會在查詢本身中使用蛇形命名規則 (ad_group_criterion
,而非 adGroupCriterion
):
POST /v19/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" } } }, ... ] } ]