Ruby

Google מספקת ספריית לקוח ב-Ruby ליצירת אינטראקציה עם Ad Manager API. מומלץ להשתמש בספריית הלקוח עם RubyGems.

כדי להתחיל, יוצרים פרויקט חדש בסביבת הפיתוח המשולבת (IDE) שבחרתם או מוסיפים את התלות לפרויקט קיים. Google מפרסמת את ספריית הלקוח ב-RubyGems בתור google-ads-ad_manager.

Gemfile:

gem 'google-ads-ad_manager', '~> 0.1.0'

התקנה ישירה:

gem install google-ads-ad_manager

הגדרת פרטי הכניסה

ספריית הלקוח של Ruby משתמשת ב-OAuth2 וב-Application Default Credentials (ADC) כדי לבצע אימות.

החיפוש של פרטי הכניסה ב-ADC מתבצע בסדר הבא במיקומים הבאים:

  1. משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS.
  2. פרטי הכניסה של משתמשים שהוגדרו דרך Google Cloud CLI‏ (CLI של gcloud).
  3. כשהאפליקציה פועלת ב-Google Cloud, חשבון השירות שמצורף למשאב ב-Google Cloud.

במאמר אימות מוסבר איך יוצרים ומגדירים את פרטי הכניסה ל-ADC.

שליחת הבקשה הראשונה

לכל שירות REST יש כיתת Ruby תואמת עם שיטות לכל method תואם של REST. בדוגמה הבאה נקרא Network.

require "google/ads/ad_manager/v1"

def get_network
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Ads::AdManager::V1::NetworkService::Rest::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Ads::AdManager::V1::GetNetworkRequest.new(name: => 'networks/NETWORK_CODE)'

  # Call the get_network method.
  result = client.get_network request

  # The returned object is of type Google::Ads::AdManager::V1::Network.
  p result
end

דוגמאות לשיטות ולמשאבים אחרים זמינות במאגר GitHub‏ googleapis/google-cloud-ruby.

רישום ביומן של בקשות HTTP ותגובות

ספריית הלקוח של Ruby משתמשת בספרייה הסטנדרטית logger כדי לתעד בקשות ותשובות של HTTP. רישום ביומן מושבת כברירת מחדל.

כדי להפעיל את הרישום ביומן, מגדירים את משתנה הסביבה GOOGLE_SDK_RUBY_LOGGING_GEMS לערך google-ads-ad_manager. אם אתם משתמשים ביותר מ-Google API אחד, תוכלו להגדיר את הערך כרשימה של שמות של ספריות לקוח מסוג gem, מופרדים בפסיקים. התנהגות ברירת המחדל של הרישום ביומן היא כתיבת יומנים לזרם השגיאות הרגיל.

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

require "google/ads/ad_manager/v1"
require "logger"

client = ::Google::Ads::AdManager::V1::NetworkService::Rest::Client.new do |config|
  config.logger = Logger.new "my-app.log"
end

טיפול בשגיאות

כל השגיאות של Ad Manager API הן קבוצות משנה של ::Google::Cloud::Error בספריית הלקוח של Ruby.

result = client.get_network request
rescue ::Google::Cloud::Error => e
  puts "An error of type #{e.class} occurred with HTTP status #{e.status_code}"

שגיאות ב-Ad Manager API כוללות גם את הערך הייחודי request_id, שאפשר לספק לתמיכה כדי לקבל עזרה בפתרון הבעיה. בדוגמה הבאה מתבצעת החילוץ של הערך request_id מהשגיאה details.

rescue ::Google::Cloud::Error => e
  request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
  puts request_info.request_id

בניית שמות של משאבים

ספריית הלקוח מספקת כיתות עזר ליצירת שמות של משאבים ממזהים.

require "google/ads/ad_manager/v1"

#  Constructs a String in the format:
#  "networks/{networkCode}/orders/{orderId}"
order_name = Google::Ads::AdManager::V1::OrderService::Paths::order_path(:network_code => 123, :order => 456)

קביעת הגדרות לשרת proxy

ספריית הלקוח של Ruby מתייחסת גם למשתני הסביבה HTTP_PROXY וגם למשתני הסביבה HTTPS_PROXY.