O Google oferece uma biblioteca de cliente Ruby para interagir com a API Ad Manager. Recomendamos o uso da biblioteca de cliente com RubyGems.
Para começar, crie um novo projeto no ambiente de desenvolvimento integrado (IDE) que você escolher ou adicione a
dependência a um projeto existente. O Google publica a biblioteca de cliente para
RubyGems como
google-ads-ad_manager
.
Gemfile:
gem 'google-ads-ad_manager', '~> 0.1.0'
Instalar diretamente:
gem install google-ads-ad_manager
Configurar credenciais
A biblioteca de cliente Ruby usa o OAuth2 e o Application Default Credentials (ADC) para autenticação.
O ADC procura credenciais na seguinte ordem:
- variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
. - Credenciais do usuário configuradas pela CLI do Google Cloud (CLI gcloud).
- Quando executado no Google Cloud, a conta de serviço anexada ao recurso do Google Cloud.
Para criar e configurar suas credenciais do ADC, consulte Autenticação.
Faça sua primeira solicitação
Cada serviço REST tem uma classe Ruby correspondente com métodos para cada
método REST correspondente. O exemplo a seguir lê um
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 conferir exemplos de outros métodos e recursos, consulte o repositório do GitHub
googleapis/google-cloud-ruby
.
Registrar solicitações e respostas HTTP
A biblioteca de cliente Ruby usa a biblioteca padrão logger
para registrar solicitações e respostas HTTP. A geração de registros está desativada por
padrão.
Para ativar a geração de registros, defina a variável de ambiente GOOGLE_SDK_RUBY_LOGGING_GEMS
como o valor google-ads-ad_manager
. Se você usa mais de uma API do Google, é possível definir o valor como uma lista delimitada por vírgulas de nomes de gemas de biblioteca de cliente. O
comportamento de geração de registros padrão grava registros no fluxo de erros padrão.
Como alternativa, é possível ativar o registro no código Ruby modificando a
configuração logger
ao criar um objeto de 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
Solucionar erros
Todos os erros da API Ad Manager são subclasses de ::Google::Cloud::Error na biblioteca de cliente 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}"
Os erros da API Ad Manager também incluem um request_id
exclusivo que pode ser enviado ao suporte para receber ajuda na solução de problemas. O exemplo a seguir extrai o
request_id
do erro details
.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_id
Criar nomes de recursos
A biblioteca de cliente fornece classes auxiliares para criar nomes de recursos a partir de 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)
Definir as configurações de proxy
A biblioteca de cliente Ruby respeita as variáveis de ambiente HTTP_PROXY
e HTTPS_PROXY
.