JSON 映射

使用 Search Ads 360 Reporting API 的 REST 接口时,您处理的是 Search Ads 360 Reporting API 的 .proto 描述符文件中定义的资源和类型的 JSON 表示。JSON 编码方案遵循协议缓冲区语言指南JSON 映射部分中所述的规范化编码方案。

通常,与服务往来的所有顶级消息都是单个 JSON 对象。search 响应是包含 results 数组及查询结果集的 JSON 对象。

在 JSON 中,标识符从 snake_case(在协议缓冲区中)转换为 lowCamelCase。需要注意的是,此规则在使用 searchsearchStream 发送 Search Ads 360 查询语言查询时。无论您使用哪种界面,查询语言本身都采用蛇形命名法。但是,REST 中的查询结果会作为常规 JSON 对象返回,并且其标识符以小驼峰命名法。

例如,用于提取帐号中有效关键字列表的查询本身在查询中使用蛇形(ad_group_criterion,而非 adGroupCriterion):

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.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 数组中),并改为使用驼峰式大小写标识符 adGroupCriterion

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