Ruby

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:

  1. Biến môi trường GOOGLE_APPLICATION_CREDENTIALS.
  2. Thông tin xác thực người dùng được thiết lập thông qua Google Cloud CLI (gcloud CLI).
  3. 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_PROXYHTTPS_PROXY.