リソース名

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

サービスパス メソッド

API で特定のタイプのオブジェクトの読み取りまたは変更を処理するように設計されたすべての Service には、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 以降、各サービスには付属の parse_*_path メソッドもあります。このメソッドは、resource_name を個々のセグメントに分解します。次に例を示します。

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
)