অ্যাড ম্যানেজার API-এর সাথে ইন্টারঅ্যাক্ট করার জন্য Google একটি রুবি ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা RubyGems-এর সাথে ক্লায়েন্ট লাইব্রেরি ব্যবহার করার পরামর্শ দিই।
শুরু করতে, আপনার পছন্দের IDE-তে একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান প্রকল্পে নির্ভরতা যোগ করুন। Google ক্লায়েন্ট লাইব্রেরি RubyGems-এ google-ads-ad_manager
হিসাবে প্রকাশ করে।
জেমফাইল:
gem 'google-ads-ad_manager', '~> 0.1.0'
সরাসরি ইনস্টল করুন:
gem install google-ads-ad_manager
শংসাপত্র কনফিগার করুন
রুবি ক্লায়েন্ট লাইব্রেরি প্রমাণীকরণের জন্য OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) ব্যবহার করে।
ADC নিম্নলিখিত অবস্থানে ক্রেডেনশিয়াল অনুসন্ধান করে:
-
GOOGLE_APPLICATION_CREDENTIALS
পরিবেশ পরিবর্তনশীল। - Google Cloud CLI (gcloud CLI) এর মাধ্যমে ব্যবহারকারীর শংসাপত্র সেট আপ করা হয়েছে।
- Google ক্লাউডে চলাকালীন, Google ক্লাউড সংস্থানের সাথে সংযুক্ত পরিষেবা অ্যাকাউন্ট।
আপনার ADC শংসাপত্র তৈরি এবং কনফিগার করার জন্য, প্রমাণীকরণ দেখুন।
আপনার প্রথম অনুরোধ করুন
প্রতিটি REST পরিষেবাতে প্রতিটি সংশ্লিষ্ট 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 অনুরোধ এবং প্রতিক্রিয়া
রুবি ক্লায়েন্ট লাইব্রেরি লাইব্রেরি HTTP অনুরোধ এবং প্রতিক্রিয়া লগ করার জন্য স্ট্যান্ডার্ড logger
লাইব্রেরি ব্যবহার করে। লগিং ডিফল্টরূপে নিষ্ক্রিয় করা হয়.
লগিং সক্ষম করতে, পরিবেশ পরিবর্তনশীল GOOGLE_SDK_RUBY_LOGGING_GEMS
মান google-ads-ad_manager
সেট করুন। আপনি যদি একাধিক Google API ব্যবহার করেন, তাহলে আপনি ক্লায়েন্ট লাইব্রেরি রত্ন নামের একটি কমা-বিন্যস্ত তালিকায় মান সেট করতে পারেন। ডিফল্ট লগিং আচরণ স্ট্যান্ডার্ড এরর স্ট্রীমে লগ লেখে।
বিকল্পভাবে, আপনি একটি ক্লায়েন্ট অবজেক্ট তৈরি করার সময় 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::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}"
অ্যাড ম্যানেজার এপিআই ত্রুটিগুলির মধ্যে একটি অনন্য 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)
প্রক্সি সেটিংস কনফিগার করুন
রুবি ক্লায়েন্ট লাইব্রেরি HTTP_PROXY
এবং HTTPS_PROXY
উভয় পরিবেশ ভেরিয়েবলকে সম্মান করে।