JSON マッピング

Google Ads API の REST インターフェースを使用する場合は、 Google Ads API で定義されたものと同じリソースとタイプの表現が .proto 記述子ファイル。JSON エンコード スキームは、 サポートされている プロトコルの [JSON Mapping] セクション (言語ガイド)をご覧ください。

通常、最上位レベルのメッセージと サービスは単一の JSON オブジェクトです。 ほとんどの変更リクエストには operations 配列が含まれており、その配列には createupdate、または delete オペレーション。同様に、search レスポンスは次のようになります。 クエリの結果セットを含む results 配列を含む JSON オブジェクト。

識別子は、プロトコル バッファ内の snake_case から JSON の lowerCamelCase。このルールの注意すべき点の一つは、kubectl の search または searchStream: Google 広告クエリ言語を送信します 分析できますクエリ言語自体はスネークケースを使用しますが、 確認する必要がありますただし、REST のクエリの結果は 通常の JSON オブジェクトで、識別子は lowerCamelCase です。

たとえば、アカウントの有効なキーワードのリストを取得するクエリでは、 クエリ自体(adGroupCriterion ではなく ad_group_criterion)内のスネークケース:

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"
          }
        }
      },
      ...
    ]
  }
]