Configuração

A configuração é feita usando uma classe Config. É possível acessar essa classe de várias maneiras, como gravar um arquivo de configuração, especificar valores na criação ou carregar 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 procura no local especificado na variável de ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH. Se essa variável não estiver definida, a biblioteca 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 procurará 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

Você pode definir a configuração dinamicamente ao instanciar a biblioteca ou até mesmo depois:

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

Você pode 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 do OAuth.
  • client_id: seu ID do cliente OAuth.
  • client_secret: a chave secreta do cliente OAuth
  • developer_token: o token de desenvolvedor para acessar a API.
  • login_customer_id: consulte a documentação de login-customer-id.

Campos de geração de registros. Para ver todos os detalhes, consulte o guia de geração de registros.

  • log_level: as mensagens de nível mínimo de registro que você quer registrar. Por exemplo, especificar 'DEBUG' garante que você veja todas as mensagens de registro, e especificar 'INFO' excluirá mensagens DEBUG, mas mostrará todas as outras mensagens.
  • log_target: onde você quer fazer login, como STDERR.
  • logger: especifique seu próprio logger personalizado. Especificar isso substituirá log_level e log_target.

Variáveis de ambiente

É possível 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 serem carregados. 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

Cada vez que ele é chamado, o estado atual das variáveis de ambiente substitui qualquer coisa que já esteja presente no Config. Com esse mecanismo, é possível, por exemplo, ter uma configuração padrão, mas modificar valores específicos usando variáveis de ambiente, ou configurar totalmente com variáveis de ambiente.

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

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