L'identificatore univoco di un'entità nell'API Google Ads si chiama nome della risorsa ed è rappresentato come una stringa con un formato prevedibile. Se conosci i componenti costitutivi di un nome della risorsa, puoi generare i nomi delle risorse utilizzando i metodi di assistenza presenti in molti oggetti Service.
Metodi di percorso del servizio
Tutti i servizi progettati per gestire la lettura o la modifica di tipi specifici di oggetti nell'API dispongono di metodi di assistenza per semplificare la creazione di resource_names. Ad esempio, per creare un nome risorsa per un oggetto 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)
A partire dalla versione 10.0.0 della libreria client, ogni servizio ha anche un metodo parse_*_path
aggiuntivo che decostruisce un resource_name nei relativi singoli segmenti, ad esempio:
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"]
Nomi delle risorse composite
A partire dalla versione 9.0.0 della libreria client, gli helper per i percorsi nei servizi costruiscono segmenti composti di un nome della risorsa. I diversi segmenti dell'ID composito sono accettati come singoli parametri nel metodo:
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
)
Versioni precedenti alla 9.0.0
Prima della versione 9.0.0, gli helper di percorso nei servizi non costruiscono il segmento composito di un nome della risorsa. Questi segmenti devono essere forniti dall'utente chiamante. La libreria client dispone di una piccola utility per aiutarti:
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
)