Ruby

Google, Ad Manager API के साथ इंटरैक्ट करने के लिए Ruby क्लाइंट लाइब्रेरी उपलब्ध कराता है. हमारा सुझाव है कि RubyGems के साथ क्लाइंट लाइब्रेरी का इस्तेमाल करें.

शुरू करने के लिए, अपनी पसंद के आईडीई में नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट में डिपेंडेंसी जोड़ें. Google, क्लाइंट लाइब्रेरी को google-ads-ad_manager के तौर पर, RubyGems पर पब्लिश करता है.

Gemfile:

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

सीधे इंस्टॉल करने के लिए:

gem install google-ads-ad_manager

क्रेडेंशियल कॉन्फ़िगर करना

Ruby क्लाइंट लाइब्रेरी, पुष्टि करने के लिए OAuth2 और ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (ADC) का इस्तेमाल करती है.

एडीसी, क्रेडेंशियल को इस क्रम में खोजता है:

  1. GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल.
  2. Google Cloud CLI (gcloud CLI) की मदद से सेट अप किए गए उपयोगकर्ता क्रेडेंशियल.
  3. Google Cloud पर चलने पर, Google Cloud के संसाधन से जुड़ा सेवा खाता.

अपने ADC क्रेडेंशियल बनाने और कॉन्फ़िगर करने के लिए, पुष्टि करना देखें.

अपना पहला अनुरोध करना

हर REST सेवा के लिए एक Ruby क्लास होती है. इसमें हर 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 देखें.

एचटीटीपी अनुरोध और रिस्पॉन्स को लॉग करना

Ruby क्लाइंट लाइब्रेरी, एचटीटीपी अनुरोधों और रिस्पॉन्स को लॉग करने के लिए, स्टैंडर्ड logger लाइब्रेरी का इस्तेमाल करती है. लॉगिंग डिफ़ॉल्ट रूप से बंद होती है.

लॉगिंग की सुविधा चालू करने के लिए, एनवायरमेंट वैरिएबल GOOGLE_SDK_RUBY_LOGGING_GEMS को वैल्यू google-ads-ad_manager पर सेट करें. अगर एक से ज़्यादा Google API का इस्तेमाल किया जाता है, तो वैल्यू को क्लाइंट लाइब्रेरी के जेम के नामों की सूची में सेट किया जा सकता है. इस सूची में नामों को कॉमा लगाकर अलग किया जाता है. लॉग करने का डिफ़ॉल्ट तरीका, स्टैंडर्ड गड़बड़ी स्ट्रीम में लॉग लिखता है.

इसके अलावा, क्लाइंट ऑब्जेक्ट बनाते समय logger कॉन्फ़िगरेशन में बदलाव करके, अपने Ruby कोड में लॉगिंग की सुविधा चालू की जा सकती है.

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 की सभी गड़बड़ियां, Ruby क्लाइंट लाइब्रेरी में ::Google::Cloud::Error के सबक्लास हैं.

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 भी शामिल होता है. समस्या हल करने में मदद पाने के लिए, सहायता टीम को यह कोड दिया जा सकता है. यहां दिए गए उदाहरण में, गड़बड़ी details से request_id को निकाला गया है.

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)

प्रॉक्सी सेटिंग कॉन्फ़िगर करें

Ruby क्लाइंट लाइब्रेरी, HTTP_PROXY और HTTPS_PROXY, दोनों एनवायरमेंट वैरिएबल का इस्तेमाल करती है.