JSON マッピング
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Search Ads 360 Reporting API の REST インターフェースを使用する場合、Search Ads 360 Reporting API の .proto 記述子ファイルで定義されている同じリソースと型の JSON 表現を操作します。JSON エンコード スキームは、プロトコル バッファの言語ガイドの JSON マッピング セクションで説明されている正規エンコード スキームに従います。
一般に、サービスとの間でやり取りされるすべての最上位メッセージは、単一の JSON オブジェクトです。search
レスポンスは、クエリの結果セットを含む results
配列を含む JSON オブジェクトです。
識別子は、プロトコル バッファの snake_case から JSON の lowerCamelCase に変換されます。このルールの例外として、search
または searchStream
を使用して 検索広告 360 クエリ言語クエリを送信する場合が挙げられます。クエリ言語自体は、使用しているインターフェースに関係なく、スネークケースを使用します。ただし、REST のクエリの結果は通常の JSON オブジェクトとして返され、識別子は lowerCamelCase になります。
たとえば、アカウント内の有効なキーワードのリストを取得するクエリでは、クエリ自体の中でスネークケースを使用します(adGroupCriterion
ではなく ad_group_criterion
)。
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 配列でラップ)であり、代わりに camelCase 識別子 adGroupCriterion
を使用します。
[
{
"results": [
{
"adGroupCriterion": {
"resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
"keyword": {
"text": "pay per click"
}
}
},
...
]
}
]
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-29 UTC。
[null,null,["最終更新日 2025-08-29 UTC。"],[[["\u003cp\u003eThe Search Ads 360 Reporting API's REST interface uses JSON to represent the resources and types defined in its .proto descriptor files, adhering to the canonical JSON encoding scheme.\u003c/p\u003e\n"],["\u003cp\u003eTop-level messages in REST are single JSON objects, and search responses contain a \u003ccode\u003eresults\u003c/code\u003e array holding the query's result set.\u003c/p\u003e\n"],["\u003cp\u003eIdentifiers are generally transformed from snake_case in protocol buffers to lowerCamelCase in JSON, except within Search Ads 360 Query Language queries which retain snake_case.\u003c/p\u003e\n"],["\u003cp\u003eAlthough Search Ads 360 Query Language uses snake_case, the results returned via REST are standard JSON objects with lowerCamelCase identifiers.\u003c/p\u003e\n"]]],["The Search Ads 360 Reporting API's REST interface uses JSON, mirroring the structure of its .proto descriptor files. Data is exchanged as JSON objects, with `search` responses containing a `results` array. Identifiers convert from *snake_case* in protocol buffers to *lowerCamelCase* in JSON, except within the Search Ads 360 Query Language, which remains *snake_case*. Query results, however, are returned in *lowerCamelCase* format. For instance, a query uses `ad_group_criterion` while the response will be `adGroupCriterion`.\n"],null,["# JSON Mappings\n\nWhen using the Search Ads 360 Reporting API's REST interface, you're working with JSON\nrepresentations of the same resources and types defined in the Search Ads 360 Reporting API's\n[.proto descriptor](https://github.com/googleapis/googleapis/tree/13301267d983903e0eb8e3713cf6d3127ea0ca47/google/ads/searchads360/v0/) files. The JSON encoding scheme follows the\ncanonical encoding scheme described in the\n[JSON Mapping](/protocol-buffers/docs/proto3#json) section of the protocol\nbuffers *Language Guide*.\n\nIn general, all top-level messages to and from\n[services](https://github.com/googleapis/googleapis/tree/13301267d983903e0eb8e3713cf6d3127ea0ca47/google/ads/searchads360/v0/services) are single JSON objects. `search` responses are JSON objects containing a `results` array with your query's result set.\n\nIdentifiers are transformed from *snake_case* (in protocol buffers) to\n*lowerCamelCase* in JSON. One notable caveat to this rule is when using\n`search` or `searchStream` to send [Search Ads 360 Query Language](/search-ads/reporting/query/query-language) queries. The query language itself uses snake case, regardless of which\ninterface you're using. However, the results of a query in REST are returned as\nnormal JSON objects and have their identifiers in lowerCamelCase.\n\nFor example, a query to fetch a list of active keywords in an account uses\nsnake case inside the query itself (`ad_group_criterion`, not `adGroupCriterion`): \n\n```http\nPOST /v0/customers/\u003cvar translate=\"no\"\u003eCUSTOMER_ID\u003c/var\u003e/searchAds360:searchStream HTTP/1.1\nHost: searchads360.googleapis.com\nContent-Type: application/json\nAuthorization: Bearer \u003cvar translate=\"no\"\u003eACCESS_TOKEN\u003c/var\u003e\n\n{\n \"query\": \"SELECT ad_group_criterion.keyword.text\n FROM ad_group_criterion\n WHERE ad_group_criterion.type = 'KEYWORD'\n AND ad_group_criterion.status = 'ENABLED'\"\n}\n```\n\nHowever, the response is a JSON representation of the objects (wrapped in a JSON\narray since this request uses `searchStream`) and uses the camelCase identifier\n`adGroupCriterion` instead: \n\n```javascript\n[\n {\n \"results\": [\n {\n \"adGroupCriterion\": {\n \"resourceName\": \"customers/1842689525/adGroupCriteria/55771861891~10003060\",\n \"keyword\": {\n \"text\": \"pay per click\"\n }\n }\n },\n ...\n ]\n }\n]\n```"]]