Google fournit une bibliothèque cliente Ruby pour interagir avec l'API Ad Manager. Nous vous recommandons d'utiliser la bibliothèque cliente avec RubyGems.
Pour commencer, créez un projet dans l'IDE de votre choix ou ajoutez la dépendance à un projet existant. Google publie la bibliothèque cliente dans RubyGems sous la forme google-ads-ad_manager
.
Gemfile:
gem 'google-ads-ad_manager', '~> 0.1.0'
Installez directement:
gem install google-ads-ad_manager
Configurer les identifiants
La bibliothèque cliente Ruby utilise OAuth2 et les identifiants par défaut de l'application (ADC) pour s'authentifier.
L'ADC recherche les identifiants dans l'ordre suivant:
- Variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
. - Identifiants utilisateur configurés via la Google Cloud CLI (gcloud CLI)
- Lorsqu'il s'exécute sur Google Cloud, le compte de service associé à la ressource Google Cloud.
Pour créer et configurer vos identifiants ADC, consultez la section Authentification.
Envoyer votre première requête
Chaque service REST dispose d'une classe Ruby correspondante avec des méthodes pour chaque méthode REST correspondante. L'exemple suivant lit 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
Pour obtenir des exemples d'autres méthodes et ressources, consultez le dépôt GitHub googleapis/google-cloud-ruby
.
Journaliser les requêtes et réponses HTTP
La bibliothèque cliente Ruby utilise la bibliothèque logger
standard pour consigner les requêtes et les réponses HTTP. La journalisation est désactivée par défaut.
Pour activer la journalisation, définissez la variable d'environnement GOOGLE_SDK_RUBY_LOGGING_GEMS
sur la valeur google-ads-ad_manager
. Si vous utilisez plusieurs API Google, vous pouvez définir la valeur sur une liste de noms de gemmes de bibliothèque cliente délimitée par une virgule. Le comportement de journalisation par défaut écrit les journaux dans le flux d'erreur standard.
Vous pouvez également activer la journalisation dans votre code Ruby en modifiant la configuration logger
lors de la création d'un objet client.
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
Gérer les erreurs
Toutes les erreurs de l'API Ad Manager sont des sous-classes de ::Google::Cloud::Error dans la bibliothèque 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}"
Les erreurs de l'API Ad Manager incluent également un request_id
unique que vous pouvez fournir à l'assistance pour obtenir de l'aide pour le dépannage. L'exemple suivant extrait le request_id
de l'erreur details
.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_id
Créer des noms de ressources
La bibliothèque cliente fournit des classes d'assistance pour créer des noms de ressources à partir d'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)
Configurer les paramètres de proxy
La bibliothèque cliente Ruby respecte les variables d'environnement HTTP_PROXY
et HTTPS_PROXY
.