יש כמה דרכים שונות להגדיר את הלקוח.
הגדרה באמצעות קובץ 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 או בהגדרת הכתבה):
refresh_token
: אסימון הרענון של OAuth.client_id
: מזהה הלקוח ב-OAuth.client_secret
: הסוד של לקוח OAuth שלך.developer_token
: קוד המפתח שלכם לצורך גישה ל-API.login_customer_id
: קראו את מסמכי התיעוד בנושא מספר לקוח להתחברות.linked_customer_id
: לעיון במאמר 'מזהה לקוח מקושר'json_key_file_path
(לשעברpath_to_private_key_file
): נתיב לקובץ מפתח פרטי מקומי. זה משמש לאימות באמצעות חשבון שירות. עיינו בתיעוד של חשבון שירות OAuth2.impersonated_email
(לשעברdelegate_account
): כתובת אימייל של חשבון שמשמשת כהענקת גישה. זה משמש לאימות באמצעות חשבון שירות. קראו את מסמכי התיעוד בנושא חשבון שירות של OAuth2.logging
: הגדרת הרישום ביומן. שדות הרישום ביומן מתוארים בהמשך.http_proxy
: עיין בתיעוד של שרת ה-proxy.use_proto_plus
: האם להשתמש בהודעות פרוטו פלוס או לא. עיינו במסמכי התיעוד בנושא הודעות Protobuf.
שדות כלליים כמשתני סביבה:
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 ורמת יומן.