יש כמה דרכים שונות להגדיר את הלקוח.
הגדרת אימות
יש כמה דרכים לנהל את פרטי הכניסה של OAuth שנדרשים לגישה אל Google Ads API. הגישה שתבחרו תשפיע על שדות ההגדרה שבהם תשתמשו. מידע נוסף זמין במדריך שלנו בנושא אימות.
הגדרה באמצעות קובץ YAML
אפשר לציין קובץ YAML לשימוש בעת הפעלת הלקוח, שמכיל את המידע הדרוש לשליחת בקשות אל Google Ads API. הגישה לקובץ הזה מתבצעת כשמאותחלים לקוח באמצעות השיטה 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()
אם מספקים את שני הערכים – נתיב מועבר לשיטה, ומשתנה הסביבה קיים – הספרייה תיתן עדיפות לנתיב שהועבר לשיטה.
הגדרה באמצעות משתני סביבה
אתם יכולים לאחסן את כל הגדרות הלקוח כמשתני סביבה, שייקראו כשמשתמשים בשיטה 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)
שדות להגדרת התצורה
ההגדרה של ספריית הלקוח תומכת בשדות הבאים.
אימות
צריך להשתמש רק באחת מקבוצות השדות האלה, בהתאם לשיטת האימות שבה אתם משתמשים:
- משתמש יחיד עם Application Default Credentials (ADC) (מסמכי תיעוד)
-
use_application_default_credentials: האם הספרייה צריכה להשתמש ב-Application Default Credentials (ADC) לאימות.
-
- משתמש יחיד עם טוקנים מסוג OAuth (מסמכי תיעוד)
-
client_id: מזהה הלקוח של OAuth. -
client_secret: סוד הלקוח ב-OAuth. -
refresh_token: טוקן הרענון של OAuth.
-
- חשבון שירות (תיעוד)
-
json_key_file_path: נתיב לקובץ מקומי של מפתח פרטי. הפרמטר הזה משמש לאימות באמצעות חשבון שירות.
-
התנהגות הספרייה
השדות האלה קובעים את ההתנהגות של הספרייה:
-
logging: פרטים על הגדרת רישום ביומן. -
http_proxy: אפשר לעיין בתיעוד בנושא פרוקסי. -
use_proto_plus: האם להשתמש בהודעות proto-plus. מידע נוסף על הודעות protobuf
הגדרה ברמת הבקשה
-
developer_token: חובה טוקן הפיתוח שלכם לגישה ל-API. linked_customer_id: אפשר לעיין במסמכי התיעוד בנושא linked-customer-id.-
login_customer_id: אפשר לעיין במסמכי התיעוד בנושא login-customer-id.
משתני סביבה
כדי להגדיר את הספרייה באמצעות משתני סביבה, משתמשים במשתנים הבאים:
GOOGLE_ADS_CLIENT_IDGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_CONFIGURATION_FILE_PATHGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_HTTP_PROXYGOOGLE_ADS_JSON_KEY_FILE_PATHGOOGLE_ADS_LINKED_CUSTOMER_IDGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_ADS_LOGGINGGOOGLE_ADS_REFRESH_TOKENGOOGLE_ADS_USE_PROTO_PLUSGOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS
הגדרות רישום
שדות הרישום ביומן, שהם שדות מתחת לשדה logging configuration
field, נגזרים ישירות מהlogging.config מודול המובנה
כי הספרייה תעביר את כל השדות מתחת לlogging namespace
ישירות לשיטה logging.config.dictConfig. פרטים נוספים זמינים במדריך לרישום ביומן.
-
version: ערך של מספר שלם שמייצג גרסת סכימה. -
disable_existing_loggers: האם להשבית את כלי הרישום שהוגדרו במקום אחר באפליקציה. -
formatters: מילונים שמגדירים סוגים שונים של מעצבים. -
handlers: מילונים שמגדירים מטפלים שונים, שקובעים לאן נכתבים היומנים ובאילו מעצבים צריך להשתמש. -
loggers: מילונים שמגדירים סוגים שונים של כלי רישום, שכוללים handler ורמת רישום.