Utilità di ricerca

Il recupero dei riferimenti alle classi proto quando si utilizza l'API richiede una conoscenza intrinseca dell'API o la consultazione frequente della documentazione di riferimento 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) 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 (V26 nell'ultima release, dove le release dell'API secondarie come v25.1 utilizzano il modulo della versione principale V25), oppure puoi specificare un prefisso di versione esplicito (ad esempio v26) nella chiamata di ricerca.

Senza l'utilità di ricerca, puoi creare un'istanza di una risorsa della campagna direttamente dal relativo spazio dei nomi con versione:

campaign =
  Google::Ads::GoogleAds::V26::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 questa 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 dell'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 quell'enum:

status_enum = client.enum.campaign_status
status_enum.each { |status| p status }