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

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

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

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

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

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.

אם לא תספקו נתיב, הספרייה תחפש את הקובץ בספרייה $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

ה-method 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 ישירות ל-method 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: מילונים שמגדירים handlerים שונים, שקובעים איפה כותבים את היומנים ובאילו עיצובים צריך להשתמש.
  • loggers: מילונים שמגדירים סוגים שונים של יומנים, כולל handler ורמת יומן.