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
עם שיטות סינכרוניות ואסינכרוניות לכל שיטת 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="networks/[NETWORK_CODE]",
)
# Make the request
response = client.get_network(request=request)
# Handle the response
print(response)
דוגמאות לשיטות ולמשאבים אחרים זמינות במאגר GitHub googleapis/google-cloud-python
.
רישום ביומן של בקשות HTTP ותגובות
ספריית הלקוח של Python משתמשת בספרייה הסטנדרטית logging
של Python כדי לתעד בקשות ותשובות HTTP. כברירת מחדל, הרישום ביומן מושבת.
כדי להפעיל את הרישום ביומן, מגדירים את משתנה הסביבה GOOGLE_SDK_PYTHON_LOGGING_SCOPE
. משתנה הסביבה הזה מגדיר את הטיפול באירועי רישום ביומן ברמה logging.DEBUG
ואילך.
# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1
# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
לחלופין, אפשר להשתמש במודול logging
של Python:
import logging
from google.ads import admanager_v1
logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
טיפול בשגיאות
כל שגיאות ה-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
.