Configuração

A configuração é gerenciada usando a classe Config. É possível configurar o cliente usando um arquivo de configuração, especificando valores de forma dinâmica na criação ou carregando valores de variáveis de ambiente.

Arquivo de configuração

É possível especificar um arquivo google_ads_config.rb para usar ao instanciar o cliente.

Se você não transmitir argumentos ao instanciar um objeto GoogleAdsClient, a biblioteca vai procurar um arquivo de configuração na seguinte ordem:

  1. O caminho especificado na variável de ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Um arquivo chamado google_ads_config.rb no diretório HOME (~/google_ads_config.rb).

Como alternativa, transmita um caminho explícito ao instanciar o objeto GoogleAdsClient:

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

Para gerar esse arquivo, copie google_ads_config.rb do repositório do GitHub e modifique-o para incluir seu token de atualização, ID do cliente e chave secreta do cliente.

Configuração dinâmica

É possível configurar dinamicamente ao instanciar a biblioteca:

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

Também é possível modificar a configuração após a criação da instância (que substitui as configurações carregadas durante a inicialização):

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

Campos de configuração

O objeto Config é compatível com os seguintes campos.

Campos gerais:

  • refresh_token: seu token de atualização do OAuth (GOOGLE_ADS_REFRESH_TOKEN).
  • client_id: seu ID do cliente OAuth (GOOGLE_ADS_CLIENT_ID).
  • client_secret: sua chave secreta do cliente OAuth (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile: caminho para um arquivo de chave JSON de conta de serviço (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate: endereço de e-mail a ser representado ao usar uma conta de serviço com delegação em todo o domínio (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: defina como true para autenticar usando Application Default Credentials (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Compatível com google-ads-googleads v36.1.0 e versões mais recentes.
  • authentication: objeto de autenticação personalizado, como um Proc (updater_proc), caminho do arquivo de chave ou Hash, ou GRPC::Core::Channel / GRPC::Core::ChannelCredentials. Substitui client_id, client_secret, refresh_token e keyfile.
  • login_customer_id: consulte a documentação de login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • linked_customer_id: o ID de cliente vinculado (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant: identificador opcional para o cabeçalho do assistente da API Google Ads (GOOGLE_ADS_ASSISTANT; adicionado como gaada na v37.0.0 e renomeado para ads_assistant na v39.0.0).
  • http_proxy: URI de proxy HTTP ou HTTPS opcional (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint: substituição opcional do endpoint de API (GOOGLE_ADS_ENDPOINT).
  • treat_deprecation_warnings_as_errors: gera uma exceção em vez de chamar Warning#warn quando o código da biblioteca descontinuada é invocado (false por padrão).
  • warn_on_all_deprecations: emita um aviso de descontinuação em todas as chamadas, em vez de uma vez por site de chamada (false por padrão).

Campos de registro (consulte o guia de geração de registros para mais detalhes):

  • log_level: o nível mínimo de mensagens de registro que você quer registrar. Por exemplo, especificar 'DEBUG' registra todas as mensagens, e especificar 'INFO' exclui mensagens DEBUG e mostra todas as outras.
  • log_target: onde você quer registrar, como STDERR ou um caminho.
  • logger: especifique seu próprio gravador de registros personalizado. Especificar isso substitui 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 explícita após a instanciação do cliente para serem carregados. Confira a lista completa de variáveis de ambiente padrão.

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

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

Cada vez que load_environment_config é chamado, todas as variáveis de ambiente definidas substituem os valores correspondentes já presentes no Config. Variáveis de ambiente não definidas deixam os valores de configuração atuais inalterados. Com esse mecanismo, é possível manter um arquivo de configuração padrão e substituir valores específicos usando variáveis de ambiente ou configurar o cliente totalmente com variáveis de ambiente.

Além das variáveis de ambiente padrão, a biblioteca Ruby oferece suporte a duas variáveis adicionais:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: equivalente a log_level, conforme explicado anteriormente.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: especifique um URL de proxy HTTP.