تتوفّر عدة طرق مختلفة لإعداد العميل.
الإعداد باستخدام ملف 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()
في حال توفير كلتا القيمتَين، أي تم تمرير مسار إلى الطريقة و كان متوفّرًا متغير البيئة أعلاه، ستعطي المكتبة الأولوية للمسار الذي تم تمريره إلى الطريقة.
الضبط باستخدام متغيّرات البيئة
يمكنك تخزين جميع إعدادات العميل كمتغيّرات بيئية، وسيتم قراءتها عند استخدام طريقة load_from_env
الخاصة بالعميل. يجب أن تحمل متغيرات البيئة الاسم نفسه المحدّد في ملف google-ads.yaml
، ولكن يجب أن تكون جميعها بأحرف كبيرة وأن تبدأ بمساحة الاسم GOOGLE_ADS_
. على سبيل المثال، يجب تخزين client_id
على النحو التالي: GOOGLE_ADS_CLIENT_ID
.
يتم عادةً تحديد متغيّرات البيئة في ملف إعداد باش، مثل ملف .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
: الرمز المميز للمطوّر الذي يتيح لك الوصول إلى واجهة برمجة التطبيقات.login_customer_id
: اطّلِع على مستندات login-customer-id.linked_customer_id
: يُرجى الاطّلاع على مستندات linked-customer-id.-
json_key_file_path
(المعروف سابقًا باسمpath_to_private_key_file
): مسار إلى ملف مفتاح خاص محلي. يُستخدَم هذا الحقل للمصادقة باستخدام حساب خدمة. راجِع مستندات حساب خدمة OAuth2. impersonated_email
(المعروف سابقًا باسمdelegate_account
): هو عنوان البريد الإلكتروني للحساب المستخدَم كمفوَّض. يُستخدَم هذا المفتاح للمصادقة باستخدام حساب خدمة. راجِع مستندات حساب خدمة OAuth2.logging
: إعدادات التسجيل يتم وصف حقول التسجيل أدناه.http_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
مباشرةً إلى الطريقة logging.config.dictConfig
. يمكنك الاطّلاع على دليل تسجيل البيانات للحصول على التفاصيل الكاملة.
version
: قيمة عدد صحيح تمثّل إصدار المخطّط.disable_existing_loggers
: تحدّد ما إذا كان يجب إيقاف أدوات تسجيل البيانات التي تم ضبطها في مكان آخر في التطبيق.formatters
: قواميس تحدّد أنواعًا مختلفة من أدوات التنسيق.-
handlers
: قواميس تحدّد معالجات مختلفة تتحكّم في مكان كتابة السجلات وفي أدوات التنسيق التي يجب استخدامها. -
loggers
: قواميس تحدّد أنواعًا مختلفة من أدوات تسجيل البيانات، وتشمل معالجًا ومستوى سجلّ.