Wenn Sie die API verwenden, um Referenzen auf Proto-Klassen abzurufen, müssen Sie entweder ein umfassendes Verständnis der API haben oder häufig in der Proto-Referenzdokumentation nach dem genauen Namespace-Pfad suchen.
ProtoLookupUtil
Mit den Methoden des Lookup-Dienstprogramms für GoogleAdsClient (unterstützt von
Factories und ServiceLookup, ersetzt die Legacy
ProtoLookupUtil Klasse) können Sie Instanzen von Diensten,
Vorgängen, Aufzählungen und Ressourcen suchen und erstellen, ohne API
Versionsnummern und Modul-Namespaces im Blick behalten zu müssen. Standardmäßig verwenden diese Methoden die höchste API-Version, die von Ihrem installierten Gem unterstützt wird (V26 in der neuesten Version, wobei für kleinere API-Versionen wie v25.1 das Modul der Hauptversion V25 verwendet wird). Alternativ können Sie im Lookup-Aufruf ein explizites Versionspräfix angeben, z. B. v26.
Ohne das Lookup-Dienstprogramm instanziieren Sie eine Kampagnenressource direkt aus dem Namespace mit Versionsangabe:
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
Mit den Client-Lookup-Methoden können Sie die Ressource direkt aus dem Client instanziieren:
campaign = client.resource.campaign
Wenn Sie eine Ressource, einen Dienst oder einen Vorgang abrufen, wird eine Instanz dieser Entität zurückgegeben:
# Instantiate an operation
operation = client.operation.campaign
Dienst-Lookup
Verwenden Sie die Methode client.service, um Dienstclients abzurufen, auch wenn Sie dieses Dienstprogramm nicht für andere Entitäten verwenden. client.service konfiguriert automatisch Ihre Authentifizierungsdaten und Transporteinstellungen für den zurückgegebenen Dienstclient:
campaign_service = client.service.campaign
Aufzählungs-Lookup
Weisen Sie für Enum-Felder in Protobuf-Nachrichten direkt ein Ruby-Symbol zu, anstatt das Aufzählungsmodul zu suchen:
campaign.status = :PAUSED
Wenn Sie alle gültigen Symbole für eine Aufzählung zur Laufzeit prüfen oder durchlaufen möchten, verwenden Sie client.enum. Diese Methode gibt den Google::Protobuf::EnumDescriptor für diese Aufzählung zurück:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }