O identificador exclusivo de uma entidade na API Google Ads é chamado de nome de recurso e é representado como uma string com um formato previsível. Se você souber os componentes constituintes de um nome de recurso, poderá gerar nomes de recursos usando métodos auxiliares presentes em muitos objetos de serviço.
Métodos de caminho de serviço
Todos os serviços projetados para processar a leitura ou mutação de tipos específicos de
objetos na API têm métodos auxiliares para facilitar a criação de
resource_names. Por exemplo, criar um nome de recurso para um objeto 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 partir da versão 10.0.0 da biblioteca de cliente, cada serviço também tem um
método parse_*_path
que decompõe um resource_name em
segmentos individuais, por exemplo:
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"]
Nomes de recursos compostos
A partir da versão 9.0.0 da biblioteca de cliente, os auxiliares de caminho em serviços constroem segmentos compostos de um nome de recurso. Os diferentes segmentos do ID composto são aceitos como parâmetros individuais no método:
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
)
Versões anteriores à 9.0.0
Antes da versão 9.0.0, os helpers de caminho em serviços não criavam o segmento composto de um nome de recurso. Esses segmentos precisam ser fornecidos pelo autor da chamada. A biblioteca de cliente tem um pequeno utilitário para ajudar com isso:
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
)