Configuração

A configuração é feita usando uma classe Config. É possível acessar essa classe de várias maneiras, como gravando um arquivo de configuração, especificando valores na criação ou carregando valores de variáveis de ambiente.

Arquivo de configuração

É possível especificar um arquivo google_ads_config.rb a ser usado ao instanciar o cliente.

Se você não usar argumentos ao instanciar:

client = Google::Ads::GoogleAds::GoogleAdsClient.new

a biblioteca vai procurar no local especificado na variável de ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH. Se essa variável não for definida, a biblioteca vai procurar o arquivo no diretório HOME.

Como alternativa, especifique um caminho:

client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")

Nesse caso, o cliente procura o arquivo nesse caminho de arquivo.

A maneira mais fácil de gerar esse arquivo é copiar o google_ads_config.rb do repositório do GitHub e modificá-lo para incluir seu token de atualização, ID do cliente e chave secreta do cliente.

Configuração dinâmica

É possível definir a configuração dinamicamente ao instanciar a biblioteca ou mesmo depois disso:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... more configuration
end

É possível até modificar a configuração após a instanciação:

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... more configuration
end

Campos de configuração

O objeto Config é compatível com os campos a seguir.

Campos gerais:

  • refresh_token: seu token de atualização OAuth.
  • client_id: seu ID do cliente OAuth.
  • client_secret: a chave secreta do cliente OAuth.
  • developer_token: seu token de desenvolvedor para acessar a API.
  • login_customer_id: consulte a documentação login-customer-id.

os campos do Logging. Consulte o guia de geração de registros para ver detalhes completos.

  • log_level: as mensagens mínimas no nível de registro que você quer registrar. Por exemplo, especificar 'DEBUG' garantirá que você veja todas as mensagens de registro, e a especificação 'INFO' excluirá as mensagens DEBUG, mas mostrará todas as outras.
  • log_target: onde você quer fazer login, como STDERR.
  • logger: especifique seu próprio logger personalizado. Se você especificar isso, log_level e log_target serão substituídos.

Variáveis de ambiente

Você pode configurar a biblioteca de cliente usando variáveis de ambiente. Eles não são carregados por padrão e exigem uma chamada extra após a instanciação do cliente para carregamento. Veja a lista completa de variáveis de ambiente compatíveis com todas as linguagens.

Para carregar as variáveis de ambiente no Config, chame load_environment_config:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Sempre que isso for chamado, o estado atual das variáveis de ambiente substituirá tudo o que já estiver presente no Config. Com esse mecanismo, por exemplo, é possível ter uma configuração padrão, mas modificar valores específicos usando variáveis de ambiente, ou fazer a configuração totalmente com variáveis de ambiente.

Além das variáveis de ambiente compatíveis com todas as bibliotecas, a biblioteca Ruby tem mais duas variáveis:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: como log_level acima.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: especifica um proxy HTTP.