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, comoSTDERR
.logger
: especifique seu próprio logger personalizado. Se você especificar isso,log_level
elog_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
: comolog_level
acima.GOOGLE_ADS_RUBY_HTTP_PROXY
: especifica um proxy HTTP.