המזהה הייחודי של ישות ב-Google Ads API נקרא שם משאב, והוא מיוצג כמחרוזת בפורמט צפוי. אם אתם יודעים מהם הרכיבים שמרכיבים את שם המשאב, תוכלו ליצור שמות של משאבים באמצעות שיטות עזר שנמצאות בהרבה אובייקטים של Service.
שיטות של נתיב שירות
לכל השירותים שנועדו לקרוא או לשנות סוגים ספציפיים של אובייקטים ב-API יש שיטות עזר שבעזרתן קל ליצור את resource_names. לדוגמה, יצירת שם משאב לאובייקט 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)
החל מגרסה 10.0.0 של ספריית הלקוח, לכל שירות יש גם שיטה נלווית parse_*_path
שמפרקת את resource_name לפלחים הנפרדים שלו, לדוגמה:
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"]
שמות של משאבים מורכבים
החל מגרסה 9.0.0 של ספריית הלקוח, רכיבי העזר של נתיב בשירותים יוצרים קטעים מורכבים של שם משאב. החלקדים השונים של המזהה המשולב מתקבלים כפרמטרים נפרדים בשיטה:
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
)
גרסאות קודמות ל-9.0.0
לפני גרסה 9.0.0, השירותים לא יוצרים את הקטע המשולב של שם המשאב באמצעות ה-path helpers. הגורם שמפעיל את הקריאה צריך לספק את הפלחים האלה. בספריית הלקוח יש כלי קטן שעוזר בכך:
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
)