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 cadena 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 de servicio.

Métodos de ruta de servicio

Todos los servicios diseñados para controlar la lectura o mutación de tipos específicos de objetos en la API tienen métodos auxiliares para facilitar la construcción de resource_names. Por ejemplo, crear 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 complementario que descompone 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 ayudantes de ruta de acceso en los servicios construyen segmentos compuestos de un nombre de 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 ayudantes de ruta de acceso en 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 ayudarte 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
)