יש כמה דרכים שונות להגדיר את הלקוח.
הגדרה באמצעות קובץ 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):
refresh_token
: אסימון הרענון של OAuth.client_id
: מזהה הלקוח ב-OAuth.client_secret
: סוד הלקוח ב-OAuth.developer_token
: קוד המפתח שלכם לגישה ל-API.login_customer_id
: אפשר לעיין במאמרי 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
: האם להשתמש בהודעות מסוג 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
: מילונים שמגדירים handlerים שונים, שקובעים איפה כותבים את היומנים ובאילו עיצובים צריך להשתמש.loggers
: מילונים שמגדירים סוגים שונים של יומנים, כולל handler ורמת יומן.