Google cung cấp một thư viện ứng dụng Ruby để tương tác với API Ad Manager. Bạn nên sử dụng thư viện ứng dụng với RubyGems.
Để bắt đầu, hãy tạo một dự án mới trong IDE mà bạn chọn hoặc thêm phần phụ thuộc vào một dự án hiện có. Google phát hành thư viện ứng dụng cho RubyGems dưới dạng google-ads-ad_manager
.
Gemfile:
gem 'google-ads-ad_manager', '~> 0.1.0'
Cài đặt trực tiếp:
gem install google-ads-ad_manager
Định cấu hình thông tin xác thực
Thư viện ứng dụng Ruby sử dụng OAuth2 và Thông tin xác thực mặc định của ứng dụng (ADC) để xác thực.
ADC tìm thông tin xác thực theo thứ tự ở các vị trí sau:
- Biến môi trường
GOOGLE_APPLICATION_CREDENTIALS
. - Thông tin xác thực người dùng được thiết lập thông qua Google Cloud CLI (gcloud CLI).
- Khi chạy trên Google Cloud, tài khoản dịch vụ được đính kèm vào tài nguyên Google Cloud.
Để tạo và định cấu hình thông tin xác thực ADC, hãy xem phần Xác thực.
Tạo yêu cầu đầu tiên
Mỗi dịch vụ REST đều có một lớp Ruby tương ứng với các phương thức cho từng phương thức REST tương ứng. Ví dụ sau đây đọc một 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
Để biết ví dụ về các phương thức và tài nguyên khác, hãy xem kho lưu trữ GitHub googleapis/google-cloud-ruby
.
Ghi nhật ký các yêu cầu và phản hồi HTTP
Thư viện ứng dụng Ruby sử dụng thư viện logger
tiêu chuẩn để ghi lại các yêu cầu và phản hồi HTTP. Tính năng ghi nhật ký ở trạng thái tắt theo mặc định.
Để bật tính năng ghi nhật ký, hãy đặt biến môi trường GOOGLE_SDK_RUBY_LOGGING_GEMS
thành giá trị google-ads-ad_manager
. Nếu sử dụng nhiều API của Google, bạn có thể đặt giá trị thành danh sách tên viên ngọc thư viện ứng dụng được phân tách bằng dấu phẩy. Hành vi ghi nhật ký mặc định sẽ ghi nhật ký vào luồng lỗi chuẩn.
Ngoài ra, bạn có thể bật tính năng ghi nhật ký trong mã Ruby bằng cách sửa đổi cấu hình logger
khi tạo đối tượng ứng dụng.
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
Xử lý lỗi
Tất cả lỗi API Ad Manager đều là lớp con của ::Google::Cloud::Error trong thư viện ứng dụng 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}"
Lỗi API Ad Manager cũng bao gồm một request_id
duy nhất mà bạn có thể cung cấp cho nhóm hỗ trợ để được trợ giúp khắc phục sự cố. Ví dụ sau đây trích xuất request_id
từ lỗi details
.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_id
Tạo tên tài nguyên
Thư viện ứng dụng cung cấp các lớp trợ giúp để tạo tên tài nguyên từ mã nhận dạng.
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)
Định cấu hình cài đặt proxy
Thư viện ứng dụng Ruby tuân theo cả biến môi trường HTTP_PROXY
và HTTPS_PROXY
.