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 מתבצע בסדר הבא במיקומים הבאים:
- משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS
. - פרטי הכניסה של משתמשים שהוגדרו דרך Google Cloud CLI (CLI של gcloud).
- כשהאפליקציה פועלת ב-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
.