リソース名

Google Ads API のエンティティの一意の識別子はリソース名と呼ばれ、予測可能な形式の文字列として表されます。リソース名の構成要素がわかっている場合は、多くの Service オブジェクトにあるヘルパー メソッドを使用してリソース名を生成できます。

サービスパスのメソッド

API 内の特定のタイプのオブジェクトの読み取りまたは変更を処理するように設計されたすべてのサービスには、resource_names を簡単に作成できるヘルパー メソッドがあります。たとえば、Campaign オブジェクトのリソース名を作成します。

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage()
customer_id = "7892134783"
campaign_id = "1234567890"
campaign_service = client.get_service("CampaignService")
resource_name = campaign_service.campaign_path(customer_id, campaign_id)

クライアント ライブラリのバージョン 10.0.0 以降では、各サービスに、resource_name を個々のセグメントに分解する parse_*_path メソッドも用意されています。次に例を示します。

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage()
resource_name = "customers/7892134783/campaigns/1234567890"
campaign_service = client.get_service('CampaignService')
segments = campaign_service.parse_campaign_path(resource_name)
customer_id = segments["customer_id"]
campaign_id = segments["campaign_id"]

複合リソース名

クライアント ライブラリのバージョン 9.0.0 以降では、サービスのパスヘルパーはリソース名の複合セグメントを構築します。複合 ID のさまざまなセグメントは、メソッドの個別のパラメータとして使用できます。

from google.ads.google_ads.client import GoogleAdsClient

customer_id = "0987654321"
ad_group_id = "1234567890"
criterion_id = "74932"

client = GoogleAdsClient.load_from_storage()
ad_group_criterion_service = client.get_service("AdGroupCriterionService")

# An AdGroupCriterion resource name that uses the above IDs looks like this:
# "customers/0987654321/adGroupCriteria/1234567890~74932"
resource_name = ad_group_criterion_service.ad_group_criterion_path(
    customer_id, ad_group_id, criterion_id
)

9.0.0 より前のバージョン

バージョン 9.0.0 より前のサービスのパスパラメータは、リソース名の複合セグメントを構築しません。これらのセグメントは呼び出し元が指定する必要があります。クライアント ライブラリには、この作業に役立つ小さなユーティリティがあります。

from google.ads.google_ads.client import GoogleAdsClient
from google.ads.google_ads.util import ResourceName

customer_id = "0987654321"
ad_group_id = "1234567890"
criterion_id = "74932"

client = GoogleAdsClient.load_from_storage()
ad_group_criterion_service = client.get_service("AdGroupCriterionService")

# An AdGroupCriterion resource name that uses the above IDs looks like this:
# "customers/0987654321/adGroupCriteria/1234567890~74932"
composite_id = ResourceName.format_composite(ad_group_id, criterion_id)
resource_name = ad_group_criterion_service.ad_group_criterion_path(
    customer_id, composite_id
)