Para buscar referências a classes proto ao usar a API, é necessário ter um conhecimento intrínseco da API ou consultar com frequência a documentação de referência proto para o caminho exato do namespace.
ProtoLookupUtil
Os métodos de utilitário de pesquisa no GoogleAdsClient (com suporte de
fábricas e ServiceLookup, substituindo a classe legada
ProtoLookupUtil) permitem pesquisar e criar instâncias de serviços,
operações, enumerações e recursos sem precisar acompanhar os números de versão da API
e os namespaces do módulo. Por padrão, esses métodos usam a versão mais recente da API com suporte da gem instalada (V26 na versão mais recente, em que versões secundárias da API, como a v25.1, usam o módulo da versão principal V25), ou você pode especificar um prefixo de versão explícito (como v26) na chamada de pesquisa.
Sem o utilitário de pesquisa, você instancia um recurso de campanha diretamente do namespace versionado:
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
Com os métodos de pesquisa do cliente, é possível instanciar o recurso diretamente do cliente:
campaign = client.resource.campaign
Ao buscar um recurso, serviço ou operação, uma instância dessa entidade é retornada:
# Instantiate an operation
operation = client.operation.campaign
Pesquisa de serviço
Use o método client.service para buscar clientes de serviço, mesmo que você não use esse utilitário para outras entidades. client.service configura automaticamente as credenciais de autenticação e as configurações de transporte no cliente de serviço retornado:
campaign_service = client.service.campaign
Pesquisa de enumeração
Para campos de tipo enumerado em mensagens protobuf, atribua um símbolo Ruby diretamente em vez de pesquisar o módulo de enumeração:
campaign.status = :PAUSED
Para inspecionar ou iterar todos os símbolos válidos de um tipo enumerado no tempo de execução, use client.enum, que retorna o Google::Protobuf::EnumDescriptor desse tipo enumerado:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }