אפשרויות הגדרה

ההגדרות מנוהלות באמצעות המחלקה Config. אפשר להגדיר את הלקוח באמצעות קובץ תצורה, לציין ערכים באופן דינמי בזמן היצירה או לטעון ערכים ממשתני סביבה.

קובץ תצורה

אפשר לציין קובץ google_ads_config.rb שבו יש להשתמש כשיוצרים מופע של הלקוח.

אם לא מעבירים ארגומנטים כשיוצרים מופע של אובייקט GoogleAdsClient, הספרייה מחפשת קובץ תצורה בסדר הבא:

  1. הנתיב שצוין במשתנה הסביבה GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. קובץ בשם google_ads_config.rb בספרייה HOME (~/google_ads_config.rb).

לחלופין, אפשר להעביר נתיב מפורש כשיוצרים מופע של האובייקט GoogleAdsClient:

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')

כדי ליצור את הקובץ הזה, מעתיקים את google_ads_config.rb מהמאגר ב-GitHub ומשנים אותו כך שיכלול את טוקן הרענון, מזהה הלקוח וסוד הלקוח.

הגדרה דינמית

אתם יכולים להגדיר את ההגדרות באופן דינמי כשאתם יוצרים מופע של הספרייה:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... additional configuration
end

אפשר גם לשנות את ההגדרות האישיות אחרי יצירת המופע (פעולה שמבטלת את ההגדרות שנטענו במהלך ההפעלה):

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... additional configuration
end

שדות תצורה

האובייקט Config תומך בשדות הבאים.

שדות כלליים:

  • ‫refresh_token: טוקן הרענון של OAuth‏ (GOOGLE_ADS_REFRESH_TOKEN).
  • ‫client_id: מזהה הלקוח ב-OAuth‏ (GOOGLE_ADS_CLIENT_ID).
  • ‫client_secret: סוד הלקוח ב-OAuth‏ (GOOGLE_ADS_CLIENT_SECRET).
  • ‫keyfile: הנתיב לקובץ מפתח JSON של חשבון שירות (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • ‫impersonate: כתובת האימייל שרוצים להתחזות אליה כשמשתמשים בחשבון שירות עם הענקת גישה ברמת הדומיין (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • ‫use_application_default_credentials: צריך להגדיר את הערך true כדי לבצע אימות באמצעות Application Default Credentials ‏(GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). נתמך ב-google-ads-googleads מגרסה 36.1.0 ואילך.
  • ‫authentication: אובייקט אימות בהתאמה אישית, כמו Proc (updater_proc), נתיב לקובץ מפתחות או Hash, או GRPC::Core::Channel / GRPC::Core::ChannelCredentials. מבטל את client_id, client_secret, refresh_token ו-keyfile.
  • login_customer_id: עיינו במסמכי התיעוד של login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • ‫linked_customer_id: מספר הלקוח המקושר (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ‫ads_assistant: מזהה אופציונלי לכותרת של Google Ads API Assistant (GOOGLE_ADS_ASSISTANT; נוסף בתור gaada בגרסה 37.0.0 ושונה ל-ads_assistant בגרסה 39.0.0).
  • http_proxy: URI אופציונלי של Proxy ל-HTTP או HTTPS (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • ‫api_endpoint: שינוי אופציונלי של נקודת הקצה ל-API‏ (GOOGLE_ADS_ENDPOINT).
  • ‫treat_deprecation_warnings_as_errors: העלאת חריגה במקום קריאה ל-Warning#warn כשמופעל קוד ספרייה שהוצא משימוש (false כברירת מחדל).
  • warn_on_all_deprecations: הצגת אזהרה על הוצאה משימוש בכל קריאה במקום פעם אחת לכל אתר קריאה (false כברירת מחדל).

שדות ביומן (פרטים מלאים זמינים במדריך לרישום ביומן):

  • ‫log_level: הרמה המינימלית של הודעות ביומן שרוצים לתעד. לדוגמה, אם מציינים 'DEBUG', כל ההודעות נרשמות ביומן, ואם מציינים 'INFO', הודעות DEBUG לא נכללות וכל שאר ההודעות מוצגות.
  • ‫log_target: המקום שאליו רוצים לשלוח את היומן, כמו STDERR או נתיב.
  • ‫logger: ציון כלי רישום בהתאמה אישית. הגדרה של המדיניות הזו מבטלת את המדיניות log_level וגם את המדיניות log_target.

משתני סביבה

אפשר להגדיר את ספריית הלקוח באמצעות משתני סביבה. הם לא נטענים כברירת מחדל, וצריך להפעיל אותם במפורש אחרי יצירת מופע של הלקוח כדי לטעון אותם. רשימה מלאה של משתני סביבה סטנדרטיים

כדי לטעון את משתני הסביבה ל-Config, מפעילים את load_environment_config:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

בכל פעם שקוראים ל-load_environment_config, כל משתני הסביבה שהוגדרו מחליפים את הערכים התואמים שכבר קיימים ב-Config (משתני סביבה שלא הוגדרו לא משנים את ערכי התצורה הקיימים). בעזרת המנגנון הזה, אתם יכולים לשמור על קובץ תצורה ברירת מחדל ולשנות ערכים ספציפיים באמצעות משתני סביבה, או להגדיר את הלקוח כולו באמצעות משתני סביבה.

בנוסף למשתני הסביבה הרגילים, ספריית Ruby תומכת בשני משתנים נוספים:

  • ‫GOOGLE_ADS_RUBY_LOG_LEVEL: שווה ערך ל-log_level, כמו שהוסבר קודם.
  • ‫GOOGLE_ADS_RUBY_HTTP_PROXY: מציינים כתובת URL של שרת proxy ל-HTTP.