A biblioteca de cliente da API Google Ads oferece várias opções de configuração que podem ser usadas para personalizar o comportamento da biblioteca.
Como configurar usando o App.config
Todas as configurações específicas de Google Ads API
são armazenadas no nó GoogleAdsApi
do arquivo App.config
. Uma configuração típica de App.config
é a
seguinte:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
</configSections>
<GoogleAdsApi>
<!-- Set the service timeout in milliseconds. -->
<add key="Timeout" value="2000" />
<!-- Proxy settings for library. -->
<add key="ProxyServer" value="http://localhost:8888"/>
<add key="ProxyUser" value=""/>
<add key="ProxyPassword" value=""/>
<add key="ProxyDomain" value=""/>
<!-- API-specific settings -->
<add key="DeveloperToken" value="******"/>
<!-- OAuth2 settings -->
<add key = "OAuth2Mode" value="APPLICATION"/>
<add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
<add key = "OAuth2ClientSecret" value = "******" />
<add key = "OAuth2RefreshToken" value = "******" />
</GoogleAdsApi>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
Como especificar um arquivo App.config separado
Se você não quiser criar um App.config
confuso, mova a
configuração específica da biblioteca para o próprio arquivo de configuração usando a
propriedade
configSource
.
Etapa 1: especificar um configSource no App.config
Modifique o App.config
para que ele fique assim:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
</configSections>
<GoogleAdsApi configSource="GoogleAdsApi.config"/>
…
</configuration>
Etapa 2: especificar o conteúdo do arquivo de configuração
Agora, crie outro arquivo de configuração com o nome especificado em configSource
e mova o nó de configuração do App.config
para esse arquivo:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
… More settings.
</GoogleAdsApi>
Etapa 3: corrigir as regras de compilação no csproj
Por fim, inclua o novo arquivo de configuração no seu projeto. Altere as propriedades deste arquivo para Sempre copiar para a pasta de saída.
Agora, crie e execute seu projeto. Seu aplicativo começará a coletar valores do novo arquivo de configuração.
Como configurar usando um arquivo JSON personalizado
Você pode usar uma instância do
IConfigurationRoot
para configurar a biblioteca de cliente.
Criar um arquivo JSON
Crie um arquivo JSON chamado GoogleAdsApi.json
que tenha uma estrutura semelhante ao
arquivo App.config
.
{
"Timeout": "2000",
"ProxyServer": "http://localhost:8888",
"ProxyUser": "",
"ProxyPassword": "",
"ProxyDomain": "",
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
}
Carregar a configuração
Em seguida, carregue o arquivo JSON em um IConfigurationRoot
.
ConfigurationBuilder builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();
GoogleAdsConfig config = new GoogleAdsConfig(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);
Como definir usando o settings.json
O processo é semelhante a usar um JSON personalizado, mas as chaves precisam
estar em uma seção chamada GoogleAdsApi
:
{
"GoogleAdsApi":
{
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
...
}
// More settings...
}
Em seguida, use a instância IConfiguration
na sua página:
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Como configurar a biblioteca no momento da execução
Também é possível inicializar o GoogleAdsClient
no momento da execução.
Exemplo 1: inicializar a configuração no ambiente de execução
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = "APPLICATION",
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Exemplo 2: carregar a partir do App.config, mas substituir uma configuração
GoogleAdsClient client = new GoogleAdsClient(config);
client.Config.DeveloperToken = "******";
Como configurar a biblioteca usando variáveis de ambiente
Também é possível inicializar o GoogleAdsClient
usando variáveis de ambiente. Essas
configurações não são coletadas automaticamente. É preciso carregar as configurações
das variáveis de ambiente conforme mostrado abaixo.
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Veja a lista completa de variáveis de ambiente compatíveis aqui.
Campos de configuração
Veja a seguir a lista de configurações compatíveis com a biblioteca .NET do Google Ads.
Configurações de conectividade
Timeout
: use essa chave para definir o tempo limite do serviço em milissegundos. O valor padrão é definido com base na configuraçãomethod_config/timeout
em googleads_grpc_service_config.json. Defina um valor menor se você precisar aplicar um limite mais curto no tempo máximo para uma chamada de API. É possível definir o tempo limite como duas horas ou mais, mas a API ainda pode expirar solicitações extremamente longas e retornar um erroDEADLINE_EXCEEDED
.ProxyServer
: defina como o URL do servidor proxy HTTP se você estiver usando um proxy para se conectar à Internet.ProxyUser
: defina como o nome de usuário necessário para autenticação no servidor proxy. Deixe em branco se um nome de usuário não for obrigatório.ProxyPassword
: defina essa senha comoProxyUser
se você definir um valor paraProxyUser
.ProxyDomain
: defina-o no domínio deProxyUser
se o servidor proxy precisar de um domínio.MaxReceiveMessageLengthInBytes
: use essa configuração para aumentar o tamanho máximo da resposta da API que a biblioteca de cliente pode processar. O valor padrão é 64 MB.MaxMetadataSizeInBytes
: use essa configuração para aumentar o tamanho máximo da resposta de erro da API que a biblioteca de cliente pode processar. O valor padrão é 16 MB.
Configurações do OAuth2
Ao usar o OAuth2 para autorizar suas chamadas para os servidores da API Google Ads, defina as seguintes chaves de configuração:
AuthorizationMethod
: precisa ser definido comoOAuth2
.OAuth2Mode
: precisa ser definido comoAPPLICATION
ouSERVICE_ACCOUNT
.OAuth2ClientId
: defina esse valor como seu ID do cliente OAuth2.OAuth2ClientSecret
: defina esse valor como a chave secreta do cliente do OAuth2.OAuth2Scope
: defina esse valor como diferentes escopos se você quiser autorizar os tokens do OAuth2 para várias APIs. Esta configuração é opcional.
Se você estiver usando OAuth2Mode == APPLICATION
, defina as outras
chaves de configuração a seguir.
OAuth2RefreshToken
: defina esse valor como um token de atualização OAuth2 gerado previamente se quiser reutilizar tokens OAuth2. Esta configuração é opcional.OAuth2RedirectUri
: defina esse valor como o URL de redirecionamento OAuth2. Essa configuração é opcional.
Consulte os seguintes guias para ver mais detalhes:
Se você estiver usando OAuth2Mode == SERVICE_ACCOUNT
, será necessário definir as
chaves de configuração adicionais a seguir.
OAuth2PrnEmail
: defina esse valor como o endereço de e-mail da conta que você está representando.OAuth2SecretsJsonPath
: defina esse valor como o caminho do arquivo de configuração JSON do OAuth2.
Consulte o guia Fluxo da conta de serviço do OAuth para mais detalhes.
Configurações da API Google Ads
As configurações a seguir são específicas da API Google Ads.
DeveloperToken
: defina como seu token de desenvolvedor.LoginCustomerId
: este é o ID do cliente autorizado a ser usado na solicitação, sem hifens (-
). Saiba mais.LinkedCustomerId
: esse cabeçalho só é necessário para métodos que atualizam os recursos de uma entidade quando permitido pelas contas vinculadas na IU do Google Ads (recursoAccountLink
na API Google Ads). Defina esse valor como o ID de cliente do provedor de dados que atualiza os recursos dele. Ele deve ser definido sem hifens (-
). Para saber mais sobre contas vinculadas, acesse a Central de Ajuda.