オブジェクトの取得
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
GoogleAdsService
は、Google Ads API のオブジェクト取得とレポートを統合したサービスです。このサービスには、次のメソッドがあります。
- オブジェクトの特定の属性を取得します。
- 期間に基づいてオブジェクトのパフォーマンス指標を取得します。
- オブジェクトを属性に基づいて並べ替えます。
- レスポンスで返すオブジェクトを指定する条件を使用します。
- 返されるオブジェクトの数を制限します。
GoogleAdsService
は、次の 2 つの方法で結果を返すことができます。
GoogleAdsService.SearchStream
は、1 つのストリーミング レスポンスですべての行を返します。これは、大規模な(10,000 行を超える)結果セットでより効率的です。バッチ アプリケーションでできるだけ多くのデータをできるだけ早くダウンロードしたい場合は、この方法が適している可能性があります。
GoogleAdsService.Search
は、大きなレスポンスを管理可能な結果ページに分割します。インタラクティブ アプリケーションで結果のページを一度に 1 つ表示する場合は、この方法が適している可能性があります。
詳しくは、ページングとストリーミングをご覧ください。
リクエストを作成する
search メソッドには SearchGoogleAdsRequest
が必要です。これは次の属性で構成されています。
- A:
customer_id
- Google 広告クエリ言語の
query
。クエリするリソース、取得する属性、セグメント、指標のほか、返されるオブジェクトを制限するために使用する条件を示します。
- (
GoogleAdsService.Search
のみ)ページングの使用時に結果の次のバッチを取得するための page_token
(省略可)。
Google 広告クエリ言語について詳しくは、Google 広告クエリ言語ガイドをご覧ください。
レスポンスを処理する
GoogleAdsService
は、GoogleAdsRow
オブジェクトのリストを返します。
各 GoogleAdsRow
は、クエリによって返されたオブジェクトを表し、SELECT
句でリクエストされたフィールドに基づいて入力される一連の属性で構成されます。SELECT
句に含まれていない属性は、レスポンスの GoogleAdsRow
オブジェクトに設定されません。
たとえば、ad_group_criterion
に status
属性が指定されていても、SELECT
句に ad_group_criterion.status
が含まれないクエリのレスポンスでは、行の ad_group_criterion
属性の status
フィールドは入力されません。同様に、SELECT
句に campaign
リソースのフィールドが含まれていない場合、行の campaign
属性は入力されません。
各 GoogleAdsRow
には、同じ結果セット内の別の行とは異なる属性と指標を設定できます。そのため、行はテーブルの固定行ではなくオブジェクトとして扱う必要があります。
UNKNOWN 列挙型
型 UNKNOWN
で返されるリソースは、その API バージョンでは完全にサポートされていません。これらのリソースは、Google 広告の UI などの他のインターフェースで作成されている可能性があります。リソースのタイプが UNKNOWN
の場合は指標を選択できますが、API を介してリソースを変更することはできません。たとえば、UI で新しいキャンペーンや広告が導入されたものの、クエリを実行している API バージョンではサポートされていない場合などです。
次の点にご留意ください。
UNKNOWN
タイプのリソースは、後でサポートされるか、無期限に UNKNOWN
のままになる可能性があります。
- 型
UNKNOWN
の新しいオブジェクトはいつでも表示できます。列挙型の値はすでに使用可能であるため、これらのオブジェクトには下位互換性があります。この変更により、リソースが利用可能になると、リソースが導入され、アカウントの正確なビューが表示されるようになります。UNKNOWN
リソースは、他のインターフェースを介したアカウントの新しいアクティビティが原因で表示されることがあります。また、リソースがサポートされなくなった場合にも表示されます。
UNKNOWN
リソースには、クエリ可能な詳細な指標を関連付けることができます。
UNKNOWN
リソースは通常、Google 広告の UI に完全に表示されます。
- 通常、
UNKNOWN
リソースは変更できません。
セグメンテーション
レスポンスには、次の組み合わせごとに 1 つの GoogleAdsRow
が含まれます。
FROM
句で指定されたメインリソースのインスタンス
- 選択された各
segment
フィールドの値
たとえば、FROM campaign
を選択し、SELECT
句に segments.ad_network_type
と segments.date
があるクエリのレスポンスには、次の組み合わせごとに行が 1 つ含まれます。
campaign
segments.ad_network_type
segments.date
結果は、選択された個々のフィールドの値ではなく、メインリソースの各インスタンスごとに無条件にセグメント化されます。次に例を示します。
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
campaign.status
フィールドの別々の値ごとに 1 つの行ではなく、キャンペーンごとに 1 行になります。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-05 UTC。
[null,null,["最終更新日 2025-09-05 UTC。"],[[["\u003cp\u003eGoogle Ads API's \u003ccode\u003eGoogleAdsService\u003c/code\u003e enables retrieval of object attributes, performance stats, and implements ordering, conditions, and limits for streamlined data access.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGoogleAdsService\u003c/code\u003e offers two response methods: \u003ccode\u003eSearchStream\u003c/code\u003e for efficient handling of large datasets and \u003ccode\u003eSearch\u003c/code\u003e for manageable, paginated results.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGoogleAdsService.Search\u003c/code\u003e requests require \u003ccode\u003ecustomer_id\u003c/code\u003e, Google Ads Query Language \u003ccode\u003equery\u003c/code\u003e, and optional pagination parameters (\u003ccode\u003epage_size\u003c/code\u003e, \u003ccode\u003epage_token\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eResponses comprise \u003ccode\u003eGoogleAdsRow\u003c/code\u003e objects, reflecting queried object attributes and metrics as specified in the \u003ccode\u003eSELECT\u003c/code\u003e clause.\u003c/p\u003e\n"],["\u003cp\u003eResources returned with an \u003ccode\u003eUNKNOWN\u003c/code\u003e type are not fully supported in that API version, might have been created through other interfaces, and are generally not mutable.\u003c/p\u003e\n"]]],[],null,["# Retrieving objects\n\n| **Objective:** Understand how to retrieve objects and performance stats using [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService). For reporting concepts, see the [reporting guides](/google-ads/api/docs/reporting/overview).\n\nThe [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) is the unified object\nretrieval and reporting service of the Google Ads API. The service has methods that:\n\n- Retrieve specific attributes of objects.\n- Retrieve performance metrics for objects based on a date range.\n- Order objects based on their attributes.\n- Use conditions to indicate which objects you want returned in the response.\n- Limit the number of objects returned.\n\nThe [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) can return results in\ntwo ways:\n\n- [`GoogleAdsService.SearchStream`](/google-ads/api/reference/rpc/v21/GoogleAdsService/SearchStream) returns all rows in a single streaming response which is more efficient for large (greater than 10,000 rows) result sets. This might be more appropriate if your batch application wants to download as much data as fast as possible.\n- [`GoogleAdsService.Search`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Search) breaks up large responses into manageable pages of results. This could be more appropriate if your interactive application displays a page of results at a time.\n\nLearn more about [paging versus streaming](/google-ads/api/docs/reporting/streaming).\n\nMake a request\n--------------\n\nThe search method requires a\n[`SearchGoogleAdsRequest`](/google-ads/api/reference/rpc/v21/SearchGoogleAdsRequest), which consists\nof the following attributes:\n\n- A `customer_id`\n- A Google Ads Query Language `query` that indicates which resource to query, the attributes, segments, and metrics to retrieve, and the conditions to use to restrict which objects are returned\n- ([`GoogleAdsService.Search`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Search) only) An optional `page_token` to retrieve the next batch of results when using [paging](/google-ads/api/docs/reporting/paging).\n\nFor more information on the Google Ads Query Language, check out the [Google Ads Query Language\nguide](/google-ads/api/docs/query/overview).\n\nProcess a response\n------------------\n\nThe [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) returns a list of\n[`GoogleAdsRow`](/google-ads/api/reference/rpc/v21/GoogleAdsRow) objects.\n\nEach `GoogleAdsRow` represents an object returned by a query, and consists of a\nset of attributes that are populated based on the fields requested in the\n`SELECT` clause. Attributes not included in the `SELECT` clause are not\npopulated on the `GoogleAdsRow` objects in the response.\n\nFor example, although an `ad_group_criterion` has a `status` attribute, the\n`status` field of the row's `ad_group_criterion` attribute is not populated in a\nresponse for a query where the `SELECT` clause does not include\n`ad_group_criterion.status`. Similarly, the `campaign` attribute of the row is\nnot populated if the `SELECT` clause does not include any fields from the\n`campaign` resource.\n\nEach `GoogleAdsRow` can have different attributes and metrics from another row\nin the same result set; so the rows should be viewed as objects rather than\nfixed rows of a table.\n\nUNKNOWN enum types\n------------------\n\nResources that are returned with a type of `UNKNOWN` are not fully supported in\nthat API version. These resources could have been created through other\ninterfaces such as the Google Ads UI. You can select metrics when a resource has a\ntype of `UNKNOWN`, but you cannot mutate the resource through the API. An\nexample of this would be a new campaign or ad being introduced in the UI, but\nnot supported in the API version you are querying.\n\nHere are some considerations to keep in mind:\n\n- A resource with an `UNKNOWN` type can be supported later or stay `UNKNOWN` indefinitely.\n- New objects with type `UNKNOWN` can appear at any time. These objects are backward compatible because the enum value is already available. Resources are introduced with this change as they're available so that you have an accurate view of your account. The `UNKNOWN` resource can appear due to new activities in your account through other interfaces, or when a resource is no longer supported.\n- `UNKNOWN` resources can have detailed metrics attached to them that are queryable.\n- `UNKNOWN` resources are typically fully visible in the Google Ads UI.\n- `UNKNOWN` resources generally cannot be mutated.\n\nSegmentation\n------------\n\nThe response would contain one `GoogleAdsRow` for each combination of the\nfollowing:\n\n- Instance of the main resource specified in the `FROM` clause\n- Value of each selected `segment` field\n\nFor example, the response for a query that selects `FROM campaign` and has\n`segments.ad_network_type` and `segments.date` in the `SELECT` clause would\ncontain one row for each combination of the following:\n\n- `campaign`\n- `segments.ad_network_type`\n- `segments.date`\n\nResults are implicitly segmented by each instance of the main resource, not by\nthe values of the individual fields selected. For example, \n\n SELECT campaign.status, metrics.impressions\n FROM campaign\n WHERE segments.date DURING LAST_14_DAYS\n\nresults in one row per **campaign** , not one row per distinct value of the\n`campaign.status` field."]]