Utilità di ricerca

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 }