Nomes dos recursos

O identificador exclusivo de uma entidade na API Google Ads é chamado de recurso nome e é representada como uma string com um formato previsível. Se você sabe componentes integrantes de um nome de recurso, é possível 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 lidar com leitura ou mutação de tipos específicos de da API têm métodos auxiliares para facilitar a construção resource_names. Por exemplo, ao 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 uma método parse_*_path complementar que desconstrui um resource_name na própria 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 construir segmentos compostos de um nome de recurso. Os diferentes segmentos 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

Em versões anteriores à 9.0.0, os auxiliares de caminho nos serviços não constroem o segmento composto de um nome de recurso. Esses segmentos precisam ser fornecidos pelo autor da chamada. A biblioteca 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
)