יש כמה דרכים שונות להגדיר את הלקוח.
הגדרה באמצעות קובץ 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):
refresh_token
: טוקן הרענון של OAuth.client_id
: מזהה הלקוח ב-OAuth.client_secret
: סוד הלקוח ב-OAuth.developer_token
: אסימון הפיתוח שלכם לגישה ל-API.login_customer_id
: מידע נוסף זמין במסמכי התיעוד של login-customer-id.linked_customer_id
: מידע נוסף זמין במסמכי העזרה בנושא linked-customer-id.json_key_file_path
(לשעברpath_to_private_key_file
): נתיב לקובץ של מפתח פרטי מקומי. הוא משמש לאימות באמצעות חשבון שירות. מסמכי העזרה של חשבון השירות ב-OAuth2impersonated_email
(לשעברdelegate_account
): כתובת אימייל של חשבון המשמשת כחשבון נציג. הוא משמש לאימות באמצעות חשבון שירות. במסמכי העזרה של חשבונות שירות OAuth2logging
: הגדרת רישום ביומן. בהמשך מוסבר על השדות ביומן.http_proxy
: במסמכי התיעוד של שרת ה-proxyuse_proto_plus
: האם להשתמש בהודעות 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
ישירות ל-method logging.config.dictConfig
. פרטים מלאים זמינים במדריך בנושא רישום ביומן.
version
: ערך שלם שמייצג גרסת סכימה.disable_existing_loggers
: האם יש להשבית את יומני הרישום שהוגדרו במקום אחר באפליקציה.formatters
: מילונים שמגדירים סוגים שונים של מערכי עיצוב.handlers
: מילונים שמגדירים מנהלים שונים, שקובע לאן נכתבים היומנים ואילו פורמטרים צריך להשתמש בהם.loggers
: מילונים שמגדירים סוגים שונים של יומני בקר, כולל טיפול (handler) ורמת יומן.