Google کتابخانه کارخواه Ruby را برای تعامل با Ad Manager API ارائه میدهد. توصیه میکنیم از کتابخانه مشتری با RubyGems استفاده کنید.
برای شروع، پروژه جدیدی در IDE انتخابیتان ایجاد کنید یا وابستگی را به پروژه موجود اضافه کنید. Google کتابخانه کارخواه را در
RubyGems بهعنوان
google-ads-ad_manager منتشر میکند.
Gemfile
gem 'google-ads-ad_manager', '~> 5.4.0'
خط فرمان
gem install google-ads-ad_manager
پیکربندی اعتبارنامهها
کتابخانه کارخواه Ruby از OAuth2 و اعتبارنامههای پیشفرض برنامه (ADC) برای اصالتسنجی استفاده میکند.
ADC بهترتیب در مکانهای زیر بهدنبال اطلاعات اعتباری میگردد:
- متغیر محیط
GOOGLE_APPLICATION_CREDENTIALS. - اطلاعات اعتباری کاربر ازطریق Google Cloud CLI (gcloud CLI) راهاندازی شده است.
- هنگام اجرا در 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 مراجعه کنید.
گزارش کردن درخواستها و پاسخهای HTTP
کتابخانه کارخواه Ruby از کتابخانه استاندارد logger
برای ثبت درخواستها و پاسخهای HTTP استفاده میکند. بهطور پیشفرض، ثبت گزارش غیرفعال است.
برای فعال کردن ثبت گزارش، متغیر محیطی GOOGLE_SDK_RUBY_LOGGING_GEMS
را روی مقدار google-ads-ad_manager تنظیم کنید. اگر از بیش از یک Google API استفاده میکنید،
میتوانید مقدار را روی فهرستی از نامهای gem کتابخانه مشتری که با کاما از هم جدا شدهاند تنظیم کنید. رفتار
پیشفرض ثبت گزارش، گزارشها را در جریان خطای استاندارد مینویسد.
یا میتوانید با اصلاح پیکربندی 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» زیرکلاسهای ::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)
پیکربندی تنظیمات پروکسی
کتابخانه مشتری Ruby از هر دو متغیر محیطی HTTP_PROXY و HTTPS_PROXY
پشتیبانی میکند.