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 que conforman un nombre de recurso, puedes generar nombres de recursos con métodos auxiliares presentes en muchos objetos de servicio.

Métodos de la ruta del servicio

Todos los servicios diseñados para manejar la lectura o la 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, puedes 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 desarma 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 de acceso de los servicios crean 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 la 9.0.0

Antes de la versión 9.0.0, los asistentes de ruta de acceso de los servicios no construyeban 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
)