Il recupero dei riferimenti alle classi proto quando si utilizza l'API richiede di avere una conoscenza intrinseca dell'API o di consultare frequentemente la documentazione di riferimento di proto per il percorso dello spazio dei nomi esatto.
ProtoLookupUtil
I metodi di utilità di ricerca su GoogleAdsClient (supportati da
Factories e ServiceLookup, che sostituiscono la classe
ProtoLookupUtil legacy) ti consentono di cercare e creare istanze di servizi,
operazioni, enumerazioni e risorse senza dover tenere traccia dei numeri di versione dell'API e degli spazi dei nomi dei moduli. Per impostazione predefinita, questi metodi utilizzano la versione
dell'API più recente supportata dalla gemma installata (V25 nell'ultima
release, dove le release dell'API secondarie come la v25.1 utilizzano il modulo
della versione principale V25) oppure puoi specificare un prefisso di versione esplicito (ad esempio
v25) nella chiamata di ricerca.
Senza l'utilità di ricerca, istanzi una risorsa della campagna direttamente dal suo spazio dei nomi con controllo delle versioni:
campaign =
Google::Ads::GoogleAds::V25::Resources::Campaign.new
Con i metodi di ricerca del client, puoi creare un'istanza della risorsa direttamente dal client:
campaign = client.resource.campaign
Quando recuperi una risorsa, un servizio o un'operazione, viene restituita un'istanza di quell'entità:
# Instantiate an operation
operation = client.operation.campaign
Ricerca del servizio
Utilizza il metodo client.service per recuperare i client di servizio, anche se non utilizzi
questa utilità per altre entità. client.service configura automaticamente le credenziali di autenticazione e le impostazioni di trasporto sul client di servizio restituito:
campaign_service = client.service.campaign
Ricerca di enumerazione
Per i campi enum nei messaggi protobuf, assegna direttamente un simbolo Ruby anziché cercare il modulo di enumerazione:
campaign.status = :PAUSED
Per esaminare o scorrere tutti i simboli validi per un'enumerazione in fase di runtime, utilizza
client.enum, che restituisce Google::Protobuf::EnumDescriptor per l'enumerazione:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }