Nombres de recursos

El identificador único de una entidad en la API de Google Ads se denomina nombre de recurso y se representa como una string con un formato predecible. Si conoces los componentes constituyentes de un nombre de recurso, puedes generar nombres de recursos con métodos auxiliares presentes en muchos objetos Service.

Métodos de ruta de servicio

Todos los Services que están diseñados para manejar la lectura o mutación de tipos específicos de objetos en la API tienen métodos auxiliares que facilitan la construcción de resource_names. Por ejemplo, si creas un nombre de recurso para un 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 de la versión 10.0.0 de la biblioteca cliente, cada servicio también tiene un método parse_*_path adjunto que deconstruye un resource_name en sus segmentos individuales, por ejemplo:

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"]

Nombres de recursos compuestos

A partir de la versión 9.0.0 de la biblioteca cliente, los asistentes de ruta en los servicios construyen segmentos compuestos con el nombre de un recurso. Los diferentes segmentos del ID compuesto se aceptan como parámetros individuales en el 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
)

Versiones anteriores a 9.0.0

Antes de la versión 9.0.0, los auxiliares de ruta de los servicios no construyen el segmento compuesto de un nombre de recurso. El llamador debe proporcionar esos segmentos. La biblioteca cliente tiene una pequeña utilidad para ayudar con esto:

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
)