Google מספקת ספריית לקוח של Python לאינטראקציה עם Ad Manager API. אנחנו ממליצים להשתמש בספריית הלקוח עם PyPI.
כדי להתחיל, צריך ליצור פרויקט חדש בסביבת הפיתוח המשולבת (IDE) או להוסיף את
או תלויה בפרויקט קיים. Google מפרסמת ארטיפקטים של ספריית הלקוח לצורך
PyPI בתור google-ads-admanager
.
pip install google-ads-admanager
הגדרת פרטי הכניסה
בספריית הלקוח של Python נעשה שימוש ב-OAuth2 וב-Application Default Credentials (ADC) לאימות.
אפשר לחפש פרטי כניסה ב-ADC במיקומים הבאים:
- משתנה סביבה
GOOGLE_APPLICATION_CREDENTIALS
. - פרטי כניסה של משתמשים שהוגדרו באמצעות Google Cloud CLI (CLI של gcloud).
- כשמריצים ב-Google Cloud, חשבון השירות שמצורף למשאב של Google Cloud.
במאמר הבא מוסבר איך ליצור ולהגדיר את פרטי הכניסה ל-ADC. אימות.
יצירת הבקשה הראשונה
לכל שירות יש אובייקט ServiceClient
עם גם סינכרוני וגם אסינכרוני
לכל method של REST. בדוגמה הבאה כתוב Network
באופן סינכרוני.
from google.ads import admanager_v1
def sample_get_network():
# Create a client
client = admanager_v1.NetworkServiceClient()
# Initialize request argument(s)
request = admanager_v1.GetNetworkRequest(
name="name_value",
)
# Make the request
response = client.get_network(request=request)
# Handle the response
print(response)
דוגמאות של שיטות ומשאבים אחרים מופיעות במאגר של GitHub
googleapis/google-cloud-python
טיפול בשגיאות
כל שגיאות ה-API מרחיבות את מחלקת הבסיס GoogleAPIError
.
השדה 'סיבת השגיאה' מזהה באופן ייחודי את סוגי השגיאות. כדאי להשתמש בשדה הזה כדי לקבוע איך לטפל בשגיאה.
try:
network = client.get_network(request=request)
print(network)
except GoogleAPIError as e:
# Handle error
print(e.reason)
השגיאות ב-Ad Manager API כוללות גם ערך requestId
ייחודי שניתן
עליך לספק לתמיכה כדי לקבל עזרה
לפתרון בעיות. הדוגמה הבאה מחלצת את
requestId
מ-GoogleAPIError
;
except GoogleAPIError as e:
requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
print(requestInfo['requestId'])
קביעת הגדרות לשרת proxy
ספריית הלקוח של Python מכבדת את הגדרות משתני הסביבה http_proxy
ו-https_proxy
.