הגדרות אישיות

יש כמה דרכים שונות להגדיר את הלקוח.

הגדרה באמצעות קובץ YAML

אפשר לציין קובץ YAML שישמש לאתחול הלקוח שמכיל את פרטי האימות הנדרשים כדי לשלוח בקשות. אפשר לגשת לקובץ הזה כשלקוח מאותחל באמצעות השיטה load_from_storage. הדרך הקלה ביותר ליצור את הקובץ הזה היא להעתיק את הדוגמה google-ads.yaml מהמאגר של GitHub ולשנות אותה כך שתכלול את פרטי הכניסה שלכם, כולל קוד המפתח, אסימון הרענון, מזהה הלקוח וסוד הלקוח.

כדי לציין את המיקום שבו הקובץ google-ads.yaml נמצא, אפשר להעביר את הנתיב כמחרוזת לשיטה בזמן הקריאה אליו:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

ניתן גם לציין את הנתיב על ידי הגדרת משתנה סביבה ספציפי:

import os

os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

אם תספקו את שני הערכים – נתיב מועבר לשיטה וגם משתנה הסביבה שלמעלה קיים – הספרייה תיתן עדיפות לנתיב שמועבר לשיטה.

אם לא מציינים נתיב, הספרייה תחפש את הקובץ בספריית $HOME:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

הגדרה באמצעות משתני סביבה

אפשר לאחסן את כל ההגדרות של הלקוח בתור משתני סביבה, שייקראו כשמשתמשים ב-method load_from_env של הלקוח. למשתני הסביבה צריך להיות שם זהה לזה שמוגדר בקובץ google-ads.yaml, אבל כולם צריכים להיות באותיות רישיות עם קידומת של מרחב השמות GOOGLE_ADS_. לדוגמה, יש לשמור את client_id בתור GOOGLE_ADS_CLIENT_ID.

משתני סביבה מוגדרים בדרך כלל בקובץ תצורה של bash, כמו קובץ .bashrc או .bash_profile שנמצא בספרייה $HOME. אפשר גם להגדיר אותם באמצעות שורת הפקודה. שימו לב שההוראות האלה מבוססות על ההנחה שאתם משתמשים ב-bash. אם אתם משתמשים במעטפת אחרת, יכול להיות שתצטרכו לעיין במסמכי התיעוד בנושא הגדרת משתני סביבה במעטפת שבה אתם משתמשים.

אלה כמה שלבים בסיסיים להגדרת משתנה סביבה באמצעות קובץ .bashrc באמצעות טרמינל:

# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc

אפשר להגדיר משתני סביבה גם במכונה בטרמינל ישירות משורת הפקודה:

$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890

השיטה load_from_env טוענת נתוני תצורה מהמאפיין environ במודול os המובנה של Python. לדוגמה: os.environ["GOOGLE_ADS_CLIENT_ID"]

דוגמה לאתחול מכונת לקוח באמצעות הגדרות ממשתני סביבה:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()

כדי להגדיר את logging באמצעות משתני סביבה, ערך ההגדרה חייב להיות אובייקט JSON שתואם למבנה של מפתחות ה-YAML בקובץ התצורה google-ads.yaml לדוגמה.

הנה דוגמה לאופן שבו ניתן להגדיר זאת באמצעות קובץ .bashrc:

export GOOGLE_ADS_LOGGING='{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "default_fmt": {
      "format": "[%(asctime)s - %(levelname)s] %(message).5000s",
      "datefmt": "%Y-%m-%d %H:%M:%S"
    }
  },
  "handlers": {
    "default_handler": {
      "class": "logging.StreamHandler",
      "formatter": "default_fmt"
    }
  },
  "loggers": {
    "": {
      "handlers": ["default_handler"],
      "level": "INFO"
    }
  }
}'

הגדרה באמצעות מחרוזת YAML

אם קראתם קובץ YAML בזיכרון, תוכלו לספק אותו ישירות ללקוח במהלך האתחול. כדי לעשות זאת, פשוט משתמשים בשיטה load_from_string.

from google.ads.googleads.client import GoogleAdsClient

with open("/path/to/yaml", "rb") as handle:
    yaml = handle.read()

client = GoogleAdsClient.load_from_string(yaml)

הגדרה באמצעות dict

אפשר להעביר dict ישירות לשיטה load_from_dict. למשל:

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "developer_token": "abcdef123456",
    "refresh_token": "1//0abcdefghijklABCDEF",
    "client_id": "123456-abcdef.apps.googleusercontent.com",
    "client_secret": "aBcDeFgHiJkL"}

client = GoogleAdsClient.load_from_dict(credentials)

שדות הגדרה

התצורה של ספריית הלקוח תומכת בשדות הבאים.

שדות כלליים (השמות האלה זהים, גם אם משתמשים ב-YAML או בהגדרת הכתבה):

שדות כלליים כמשתני סביבה:

  • GOOGLE_ADS_CONFIGURATION_FILE_PATH
  • GOOGLE_ADS_REFRESH_TOKEN
  • GOOGLE_ADS_CLIENT_ID
  • GOOGLE_ADS_CLIENT_SECRET
  • GOOGLE_ADS_DEVELOPER_TOKEN
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID
  • GOOGLE_ADS_LINKED_CUSTOMER_ID
  • GOOGLE_ADS_JSON_KEY_FILE_PATH (לשעבר GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE)
  • GOOGLE_ADS_IMPERSONATED_EMAIL (לשעבר GOOGLE_ADS_DELEGATE_ACCOUNT)
  • GOOGLE_ADS_LOGGING
  • GOOGLE_ADS_HTTP_PROXY
  • GOOGLE_ADS_USE_PROTO_PLUS

שדות הרישום, שהם שדות מתחת לשדה ההגדרה logging, נגזרים ישירות מהמודול המובנה logging.config, כי הספרייה תעביר את כל השדות במרחב השמות logging ישירות לשיטה logging.config.dictConfig. פרטים מלאים זמינים במדריך הרישום ביומן.

  • version: ערך של מספר שלם שמייצג גרסת סכימה.
  • disable_existing_loggers: האם יש להשבית את יומני הרישום במקום אחר באפליקציה.
  • formatters: מילונים המגדירים סוגים שונים של עיצובים.
  • handlers: מילונים שמגדירים רכיבי handler שונים, שקובעים איפה היומנים ייכתבו ובאילו תבניות צריך להשתמש.
  • loggers: מילונים שמגדירים סוגים שונים של יומני רישום, כולל handler ורמת יומן.