אחזור הפניות לכל מחלקות הפרוטו השונות שנדרשות כדי להשתמש ב-API ב- Python יכול להיות ארוך ומחייב הבנה עמוקה של API או שינוי ההקשר לעיתים קרובות כדי להפנות לפרוטוסים או למסמכי התיעוד.
שיטות get_service
ו-get_type
של הלקוח
שתי ה-methods האלה של getter מאפשרות לאחזר כל אובייקט של שירות או סוג,
API. השיטה get_service
משמשת לאחזור לקוחות שירות. get_type
משמש לכל אובייקט אחר. המחלקות של לקוחות השירות מוגדרות בקוד
לנתיב הגרסה google/ads/googleads/v*/services/services/
ולכל השאר
מוגדרים לפי קטגוריות האובייקטים השונות,
google/ads/googleads/v*/common|enums|errors|resources|services/types/
.
כל הקוד שמתחת לספריית הגרסאות נוצר, כך
להשתמש בשיטות האלה במקום לייבא את האובייקטים ישירות, במקרה
של השינויים ב-codebase.
דוגמה לאופן שבו משתמשים ב-method get_service
כדי לאחזר מכונה
של לקוח GoogleAdsService
.
from google.ads.googleads.client import GoogleAdsClient
# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")
הנה דוגמה לשימוש ב-method get_type
כדי לאחזר
מופע של Campaign
.
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")
טיפוסים בני מנייה (enum)
אפשר להשתמש בשיטה get_type
כדי לאחזר את ה-Enum, אבל
למופע של GoogleAdsClient
יש גם מאפיין enums
טוענת את Enum באמצעות אותו מנגנון כמו ה-method get_type
. בממשק הזה
אמור להיות פשוט וקל יותר לקריאה מאשר שימוש ב-get_type
:
client = GoogleAdsClient.load_from_storage(version=v17)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
שדות של אובייקט ב-Proto שהם טיפוסים בני מנייה מיוצגים ב-Python על ידי מודל המקור
enum. המשמעות היא
לקרוא בקלות את הערך של המנוי. איך לעבוד עם המכונה של campaign
מהדוגמה הקודמת ב-repl Python:
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
לפעמים כדאי לדעת את שם השדה שתואם
ערך enum כמו שמוצג למעלה. אפשר לגשת למידע הזה באמצעות name
:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
האינטראקציה עם טיפוסים בני מנייה משתנה בהתאם ל:
use_proto_plus
ההגדרות האישיות שהוגדרו ל-true
או ל-false
. לפרטים על שני הממשקים:
את התיעוד של הודעות Protobuf.
ניהול גרסאות
מספר גרסאות של ה-API מתוחזקות בו-זמנית. בזמן
יכול להיות ש-v17
היא הגרסה העדכנית ביותר. גרסאות קודמות עדיין קיימות
יהיו נגישות עד השקיעה. הספרייה תכלול פרוטו נפרד
סיווגי ההודעות שתואמים לכל גרסת API פעילה. כדי לגשת להודעה
class עבור גרסה ספציפית מספק את הפרמטר version
של מילת מפתח כאשר
אתחול של הלקוח כך שתמיד יחזיר את המכונה
version:
client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")
אפשר גם לציין את הגרסה כשמבצעים קריאה ל-get_service
ול-
get_type
אמצעי תשלום. הפעולה הזו תבטל את הגרסה שסופקה
אתחול הלקוח:
client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
"GoogleAdsService", version="v17")
client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")
אם לא תספקו פרמטר version
של מילת מפתח, הספרייה תשתמש כברירת מחדל באמצעות
את הגרסה העדכנית ביותר. רשימה מעודכנת של הגרסאות האחרונות וגרסאות זמינות אחרות
בקטע הניווט הימני של
מסמכי תיעוד של API Reference.