Python

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

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

requirements.txt

google-ads-admanager==0.10.7

שורת הפקודה

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.