Ruby

Google, Ad Manager API के साथ इंटरैक्ट करने के लिए, Ruby क्लाइंट लाइब्रेरी उपलब्ध कराता है. हमारा सुझाव है कि 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 और ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) का इस्तेमाल करती है.

ADC, क्रेडेंशियल को इन जगहों पर क्रम से खोजता है:

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

एडीसी क्रेडेंशियल बनाने और कॉन्फ़िगर करने के लिए, Authentication देखें.

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

हर 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, दोनों एनवायरमेंट वैरिएबल का पालन करती है.