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

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

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

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

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

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

כדי לציין את המיקום שבו נמצא קובץ 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()

אם מציינים את שני הערכים – נתיב מועבר ל-method וגם משתנה הסביבה שלמעלה קיים – הספרייה תעדיף את הנתיב המועבר ל-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 וגם אם משתמשים בתצורת dict):

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

  • 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 ישירות ל-method‏ logging.config.dictConfig. פרטים מלאים זמינים במדריך בנושא רישום ביומן.

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