A biblioteca de cliente da API Google Ads fornece várias definições de configuração que você pode usar para personalizar o comportamento da biblioteca.
Configurar a biblioteca no momento da execução
A maneira recomendada de configurar a biblioteca de cliente é inicializar um
Objeto GoogleAdsConfig
no momento da execução:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.APPLICATION,
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Opções alternativas de configuração
Também fornecemos algumas opções adicionais para configurar a biblioteca cliente:
ative-as, adicione uma referência Nuget aos Google.Ads.GoogleAds.Extensions
pacote no
seu projeto.
Se você usar uma dessas opções, as configurações não serão selecionadas automaticamente: você deve carregá-los explicitamente, conforme mostrado abaixo.
Configurar usando App.config
Todas as configurações específicas do Google Ads API
são armazenadas no GoogleAdsApi
nó do arquivo App.config
. Uma configuração típica de App.config
é
da seguinte forma:
<?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>
Para carregar as definições de configuração de um arquivo App.config
, chame o método
Método LoadFromDefaultAppConfigSection
em um objeto GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Especificar um arquivo App.config separado
Se não quiser deixar o App.config
poluído, mova o
a configuração específica da biblioteca em seu próprio arquivo de configuração usando o
configSource
.
Etapa 1: especificar um configSource em App.config
Modifique seu 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 este arquivo:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
Etapa 3: corrija as regras de criação no seu csproj
Por fim, inclua o novo arquivo de configuração no projeto. Mudar as propriedades desse arquivo para Sempre copiar para a pasta de saída.
Agora crie e execute seu projeto. O aplicativo começará a coletar valores do novo arquivo de configuração.
Configuração usando um arquivo JSON personalizado
Você pode usar um
IConfigurationRoot
para configurar a biblioteca de cliente.
Criar um arquivo JSON
Crie um arquivo JSON chamado GoogleAdsApi.json
que tenha uma estrutura semelhante à do
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();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);
Configuração usando o settings.json
O processo é semelhante ao uso de um JSON personalizado, exceto pelo fato de que 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();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Configuração usando variáveis de ambiente
Também é possível inicializar o GoogleAdsClient
usando variáveis de ambiente:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Veja a lista completa de ambientes compatíveis variáveis.
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. A o valor padrão é definido com base na configuraçãomethod_config/timeout
no googleads_grpc_service_config.json. Defina um valor mais baixo se precisar aplicar um limite menor para o tempo máximo para uma chamada de API. É possível definir o tempo limite como duas horas ou mais, mas a API pode ainda esgota o tempo limite de solicitações de execução extremamente longa e retornam umaDEADLINE_EXCEEDED
.ProxyServer
: defina como o URL do servidor proxy HTTP se você estiver usando uma proxy para se conectar à Internet.ProxyUser
: defina como o nome de usuário que você quer usar para a autenticação. servidor proxy. Deixe em branco se um nome de usuário não for necessário.ProxyPassword
: defina como a senha deProxyUser
se você definir um valor paraProxyUser
.ProxyDomain
: defina como o domínio deProxyUser
se o servidor proxy requer uma para ser definida.MaxReceiveMessageLengthInBytes
: use essa configuração para aumentar o valor máximo tamanho da resposta da API que a biblioteca de cliente pode manipular. O padrão é de 64 MB.MaxMetadataSizeInBytes
: use essa configuração para aumentar o valor máximo tamanho da resposta de erro da API que a biblioteca de cliente pode tratar. A o valor padrão é 16 MB.
Ajuste o
MaxReceiveMessageLengthInBytes
e oMaxMetadataSizeInBytes
. configurações para corrigir determinados errosResourceExhausted
. Essas configurações abordam erros do formatoStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
.Neste exemplo, o erro é devido ao tamanho da mensagem (
423184132 bytes
) maior do que a biblioteca pode suportar (67108864 bytes
). AumentarMaxReceiveMessageLengthInBytes
como500000000
para evitar esse erro.O erro também indica que seu código processou uma objeto de resposta grande (como um grande
SearchGoogleAdsResponse
). Isso podem ter implicações no desempenho do código devido à abordagem Large Object do .NET, Heap. Se isso se torna uma preocupação de desempenho, você pode ter que explorar como reorganizar suas chamadas de API ou reformular partes do app.
Configurações do OAuth2
Ao usar o OAuth2 para autorizar suas chamadas nos servidores da API Google Ads, defina as seguintes chaves de configuração:
- Defina
AuthorizationMethod
comoOAuth2
. OAuth2Mode
: defina comoAPPLICATION
ouSERVICE_ACCOUNT
.OAuth2ClientId
: defina esse valor como o ID do cliente OAuth2.OAuth2ClientSecret
: defina esse valor como a chave secreta do cliente do OAuth2.OAuth2Scope
: defina esse valor com escopos diferentes se quiser autorizar Tokens OAuth2 para várias APIs. Essa configuração é opcional.
Se você estiver usando OAuth2Mode == APPLICATION
, será necessário definir o seguinte:
outras chaves de configuração.
OAuth2RefreshToken
: defina esse valor como um token de atualização do OAuth2 pré-gerado se quiser reutilizar tokens OAuth2. Essa configuração é opcional.OAuth2RedirectUri
: defina esse valor para o URL de redirecionamento do OAuth2. Esta configuração é opcional.
Consulte os guias a seguir para mais detalhes:
Se você estiver usando OAuth2Mode == SERVICE_ACCOUNT
, defina o
as chaves de configuração extras a seguir.
OAuth2PrnEmail
: defina esse valor como o endereço de e-mail da conta que você está usando falsificando a identidade de alguém.OAuth2SecretsJsonPath
: defina esse valor como a configuração JSON do OAuth2 caminho do arquivo.
Veja o fluxo da conta de serviço do OAuth. para mais detalhes.
Configurações de transporte
UseGrpcCore
: defina essa configuração comotrue
para usar a bibliotecaGrpc.Core
como a camada de transporte subjacente. Consulte a documentação de suporte do gRPC guia (em inglês) 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
: é o ID do cliente autorizado a usar. na solicitação, sem hifens (-
).LinkedCustomerId
: este cabeçalho só é necessário para métodos que atualizam o recursos de uma entidade quando com permissão através de contas vinculadas no Interface do Google Ads (recursoAccountLink
na API Google Ads). Defina esse valor como o ID de cliente do provedor de dados que atualiza os recursos do ID de cliente. Ele precisa ser definido sem hifens (-
). Saiba mais sobre a página "Vinculado" Contas.