Google מספקת ספריית לקוח של Ruby לאינטראקציה עם Ad Manager API. מומלץ להשתמש בספריית הלקוח עם RubyGems.
כדי להתחיל, יוצרים פרויקט חדש בסביבת הפיתוח המשולבת (IDE) שבחרתם או מוסיפים את התלות לפרויקט קיים. Google מפרסמת ספריית לקוח ב-RubyGems בתור google-ads-ad_manager.
Gemfile
gem 'google-ads-ad_manager', '~> 5.3.0'
שורת הפקודה
gem install google-ads-ad_manager
הגדרת פרטי כניסה
ספריית הלקוח של Ruby משתמשת ב-OAuth2 וב-Application Default Credentials (ADC) לצורך אימות.
החיפוש של פרטי הכניסה ב-ADC מתבצע בסדר הבא:
- משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS. - פרטי כניסה של משתמשים שהוגדרו באמצעות ה-CLI של gcloud (ה-CLI של gcloud).
- כשמריצים ב-Google Cloud, חשבון השירות שמצורף למשאב ב-Google Cloud.
במאמר אימות מוסבר איך ליצור ולהגדיר את פרטי הכניסה של ADC.
שליחת הבקשה הראשונה
לכל שירות REST יש מחלקה תואמת ב-Ruby עם methods לכל 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 אחד, אתם יכולים להגדיר את הערך לרשימה של שמות gems של ספריות לקוח, מופרדים בפסיקים. התנהגות ברירת המחדל של רישום ביומן היא כתיבת יומנים לזרם השגיאות הרגיל.
אפשר גם להפעיל את הרישום ביומן בקוד 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.