توفّر Google مكتبة برامج Ruby للتفاعل مع Ad Manager API. ننصح باستخدام مكتبة العميل مع RubyGems.
للبدء، أنشئ مشروعًا جديدًا في بيئة التطوير المتكاملة التي تختارها أو أضِف التبعية إلى مشروع حالي. تنشر Google مكتبة برامج العميل على RubyGems باسم google-ads-ad_manager.
Gemfile
gem 'google-ads-ad_manager', '~> 5.3.0'
سطر الأوامر
gem install google-ads-ad_manager
ضبط بيانات الاعتماد
تستخدم مكتبة برامج Ruby بروتوكول OAuth2 وبيانات الاعتماد التلقائية للتطبيق (ADC) للمصادقة.
تبحث خدمة ADC عن بيانات الاعتماد بالترتيب في المواقع التالية:
- متغيّر البيئة
GOOGLE_APPLICATION_CREDENTIALS - إعداد بيانات اعتماد المستخدم من خلال واجهة سطر الأوامر (CLI) في Google Cloud (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، يمكنك ضبط القيمة على قائمة بأسماء حِزم مكتبة البرامج مفصولة بفواصل. تؤدي عملية التسجيل التلقائية إلى كتابة السجلات في دفق الأخطاء العادي.
بدلاً من ذلك، يمكنك تفعيل التسجيل في رمز 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)
تهيئة إعدادات الخادم الوكيل
تلتزم مكتبة عميل Ruby بمتغيّري البيئة HTTP_PROXY وHTTPS_PROXY.