Ruby

Google proporciona una biblioteca cliente de Ruby para interactuar con la API de Ad Manager. Te recomendamos que uses la biblioteca cliente con RubyGems.

Para comenzar, crea un proyecto nuevo en el IDE que elijas o agrega la dependencia a un proyecto existente. Google publica la biblioteca cliente en RubyGems como google-ads-ad_manager.

Gemfile:

gem 'google-ads-ad_manager', '~> 0.1.0'

Instala directamente:

gem install google-ads-ad_manager

Configura las credenciales

La biblioteca cliente de Ruby usa OAuth2 y las credenciales predeterminadas de la aplicación (ADC) para autenticarse.

ADC busca las credenciales en orden en las siguientes ubicaciones:

  1. Con la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.
  2. Credenciales de usuario configuradas a través de Google Cloud CLI (gcloud CLI)
  3. Cuando se ejecuta en Google Cloud, la cuenta de servicio conectada al recurso de Google Cloud

Para crear y configurar tus credenciales de ADC, consulta Autenticación.

Realiza tu primera solicitud

Cada servicio REST tiene una clase Ruby correspondiente con métodos para cada método REST correspondiente. En el siguiente ejemplo, se lee un 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

Para ver ejemplos de otros métodos y recursos, consulta el repositorio de GitHub googleapis/google-cloud-ruby.

Registra las solicitudes y respuestas HTTP

La biblioteca cliente de Ruby usa la biblioteca logger estándar para registrar solicitudes y respuestas HTTP. El registro está inhabilitado de forma predeterminada.

Para habilitar el registro, configura la variable de entorno GOOGLE_SDK_RUBY_LOGGING_GEMS en el valor google-ads-ad_manager. Si usas más de una API de Google, puedes establecer el valor en una lista de nombres de gemas de bibliotecas cliente delimitados por comas. El comportamiento de registro predeterminado escribe registros en el flujo de error estándar.

Como alternativa, puedes habilitar el registro en tu código Ruby si modificas la configuración de logger cuando construyes un objeto cliente.

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

Soluciona errores

Todos los errores de la API de Ad Manager son subclases de ::Google::Cloud::Error en la biblioteca cliente de 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}"

Los errores de la API de Ad Manager también incluyen un request_id único que puedes proporcionar al equipo de asistencia para obtener ayuda con la solución de problemas. En el siguiente ejemplo, se extrae request_id del error details.

rescue ::Google::Cloud::Error => e
  request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
  puts request_info.request_id

Cómo crear nombres de recursos

La biblioteca cliente proporciona clases de ayuda para compilar nombres de recursos a partir de los IDs.

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)

Establece la configuración del proxy

La biblioteca cliente de Ruby respeta las variables de entorno HTTP_PROXY y HTTPS_PROXY.