Lorsque vous utilisez l'API, pour récupérer des références à des classes proto, vous devez soit avoir une compréhension intrinsèque de l'API, soit consulter fréquemment la documentation de référence proto pour connaître le chemin d'espace de noms exact.
ProtoLookupUtil
Les méthodes d'utilitaire de recherche sur GoogleAdsClient (basées sur
des usines et ServiceLookup, qui remplacent l'ancienne
ProtoLookupUtil classe) vous permettent de rechercher et de créer des instances de services,
d'opérations, d'énumérations et de ressources sans avoir à suivre les numéros de version de l'API
ni les espaces de noms des modules. Par défaut, ces méthodes utilisent la version d'API la plus élevée compatible avec votre gemme installée (V26 dans la dernière version, où les versions mineures de l'API telles que v25.1 utilisent leur module de version majeure V25). Vous pouvez également spécifier un préfixe de version explicite (tel que v26) dans l'appel de recherche.
Sans l'utilitaire de recherche, vous instanciez une ressource de campagne directement à partir de son espace de noms versionné :
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
Avec les méthodes de recherche client, vous pouvez instancier la ressource directement à partir du client :
campaign = client.resource.campaign
Lorsque vous récupérez une ressource, un service ou une opération, une instance de cette entité est renvoyée :
# Instantiate an operation
operation = client.operation.campaign
Recherche de services
Utilisez la méthode client.service pour récupérer les clients de service, même si vous n'utilisez pas cet utilitaire pour d'autres entités. client.service configure automatiquement vos identifiants d'authentification et vos paramètres de transport sur le client de service renvoyé :
campaign_service = client.service.campaign
Recherche d'énumérations
Pour les champs d'énumération dans les messages protobuf, attribuez directement un symbole Ruby au lieu de rechercher le module d'énumération :
campaign.status = :PAUSED
Pour inspecter ou parcourir tous les symboles valides d'une énumération au moment de l'exécution, utilisez client.enum, qui renvoie le Google::Protobuf::EnumDescriptor pour cette énumération :
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }