Utilidad de búsqueda

Para recuperar referencias a clases proto cuando se usa la API, debes tener un conocimiento intrínseco de la API o consultar con frecuencia la documentación de referencia de proto para obtener la ruta de espacio de nombres exacta.

ProtoLookupUtil

Los métodos de utilidad de búsqueda en GoogleAdsClient (respaldados por Factories y ServiceLookup, que reemplazan la clase heredada ProtoLookupUtil ) te permiten buscar y crear instancias de servicios, operaciones, enumeraciones y recursos sin tener que hacer un seguimiento de los números de versión de la API y los espacios de nombres de los módulos. De forma predeterminada, estos métodos usan la versión más alta de la API compatible con la gema instalada (V26 en la versión más reciente, en la que las versiones secundarias de la API, como la v25.1, usan su módulo de versión principal V25), o puedes especificar un prefijo de versión explícito (como v26) en la llamada de búsqueda.

Sin la utilidad de búsqueda, creas una instancia de un recurso de campaña directamente desde su espacio de nombres con versión:

campaign =
  Google::Ads::GoogleAds::V26::Resources::Campaign.new

Con los métodos de búsqueda de clientes, puedes crear una instancia del recurso directamente desde el cliente:

campaign = client.resource.campaign

Cuando se recupera un recurso, un servicio o una operación, se muestra una instancia de esa entidad:

# Instantiate an operation
operation = client.operation.campaign

Búsqueda de servicios

Usa el método client.service para recuperar clientes de servicio, incluso si no usas esta utilidad para otras entidades. client.service configura automáticamente tus credenciales de autenticación y la configuración de transporte en el cliente de servicio que se muestra:

campaign_service = client.service.campaign

Búsqueda de enumeración

Para los campos de enum en los mensajes de protobuf, asigna un símbolo de Ruby directamente en lugar de buscar el módulo de enumeración:

campaign.status = :PAUSED

Para inspeccionar o iterar sobre todos los símbolos válidos para una enumeración en el tiempo de ejecución, usa client.enum, que muestra el Google::Protobuf::EnumDescriptor para esa enum:

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