التهيئة

هناك العديد من الطرق المختلفة لضبط البرنامج.

الإعداد باستخدام ملف YAML

يمكنك تحديد ملف YAML لاستخدامه عند تهيئة العميل الذي يحتوي على معلومات المصادقة اللازمة لتقديم الطلبات. هذا الملف يتم الوصول إليه عند إعداد برنامج باستخدام طريقة load_from_storage. أسهل طريقة لإنشاء هذا الملف هي نسخ google-ads.yaml من مستودع جيت هب وتعديله ليتضمن بيانات الاعتماد الخاصة بك، بما في ذلك الرمز المميز للمطوِّر والرمز المميز للتحديث ومعرِّف العميل وسر العميل.

في حال عدم توفير مسار، ستظهر المكتبة في دليل $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 المضمنة في بايثون. مثلاً: 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: اطّلِع على مستندات تسجيل الدخول للعميل
  • 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: قواميس تحدِّد أنواعًا مختلفة من أدوات التسجيل، بما في ذلك معالج ومستوى السجل.