Python

Google מספקת ספריית לקוח Python ליצירת אינטראקציה עם Ad Manager API. מומלץ להשתמש בספריית הלקוח עם PyPI.

כדי להתחיל, יוצרים פרויקט חדש בסביבת הפיתוח המשולבת (IDE) שבחרתם או מוסיפים את התלות לפרויקט קיים. Google מפרסמת את הארטיפקטים של ספריות הלקוח ב-PyPI בתור google-ads-admanager.

pip install google-ads-admanager

הגדרת פרטי הכניסה

ספריית הלקוח של Python משתמשת ב-OAuth2 וב-Application Default Credentials (ADC) כדי לבצע אימות.

החיפוש של פרטי הכניסה ב-ADC מתבצע בסדר הבא במיקומים הבאים:

  1. משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS.
  2. פרטי הכניסה של משתמשים שהוגדרו דרך Google Cloud CLI‏ (CLI של gcloud).
  3. כשהאפליקציה פועלת ב-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.