Google Ads API の REST インターフェースを使用する場合、Google Ads API の .proto 記述子ファイルで定義されているのと同じリソースと型の JSON 表現を操作します。JSON エンコード スキームは、プロトコル バッファの言語ガイドの JSON マッピングのセクションで説明する正規のエンコード スキームに従います。
通常、サービスとの間のすべての上位レベルのメッセージは単一の JSON オブジェクトです。ほとんどの ミューテーション リクエストには、create
、update
、delete
オペレーションを多く含む operations
配列が含まれています。同様に、search
レスポンスは、クエリの結果セットを含む results
配列を含む JSON オブジェクトです。
ID は、JSON で snake_case(プロトコル バッファ内)から lowerCamelCase に変換されます。このルールには、search
または searchStream
を使用して Google Ads Query Language クエリを送信するときに注意すべき点があります。使用しているインターフェースに関係なく、クエリ言語自体にはスネークケースが使用されます。ただし、REST クエリの結果は、通常の JSON オブジェクトとして返され、lowerCamelCase に識別子が含まれます。
たとえば、アカウント内で有効なキーワードのリストを取得するクエリでは、クエリ自体にスネーク ケース(adGroupCriterion
ではなく ad_group_criterion
)を使用します。
POST /v16/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 配列でラップされています)であり、代わりにキャメルケース識別子 adGroupCriterion
を使用しています。
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]