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 OAuthdeveloper_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, comoSTDERR
.logger
: especifique seu próprio logger personalizado. Especificar isso substituirálog_level
elog_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
: comolog_level
acima.GOOGLE_ADS_RUBY_HTTP_PROXY
: especifica um proxy HTTP.