A biblioteca de cliente PHP da API Google Ads oferece várias configurações que podem ser usadas para personalizar o comportamento da biblioteca.
Arquivo de configuração
É possível armazenar a maioria dessas configurações em arquivos
ini
e usá-los ao instanciar clientes, por exemplo,
google_ads_php.ini.
As credenciais e os criadores de clientes oferecem métodos fromFile para carregar
configurações desses arquivos:
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();
Se nenhum caminho de configuração for fornecido como argumento, os métodos fromFile
serão carregados do caminho de configuração padrão, que é:
- O valor da variável de ambiente chamada
GOOGLE_ADS_CONFIGURATION_FILE_PATH, se definida.
- Caso contrário, o arquivo google_ads_php.inino diretórioHOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();
Configuração dinâmica
Você pode definir essas definições de configuração dinamicamente ao instanciar clientes.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();
Variáveis de ambiente de configuração
É possível definir algumas das definições de configuração das variáveis de ambiente ao instanciar os clientes. Consulte a lista completa.
Os builders de credenciais e de cliente fornecem métodos fromEnvironmentVariables
para carregar configurações de variáveis de ambiente:
$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();
Campos de configuração
As definições de configuração oferecem suporte a vários campos organizados em categorias.
- Campos usados por OAuth2TokenBuilder:- Modo do aplicativo
- [OAUTH2] clientId: seu ID do cliente OAuth2.
- [OAUTH2] clientSecret: a chave secreta do cliente do OAuth2.
- [OAUTH2] refreshToken: seu token de atualização do OAuth2.
 
- Modo da conta de serviço
- [OAUTH2] jsonKeyFilePath: o caminho do arquivo de chave JSON.
- [OAUTH2] scopes: os escopos.
- [OAUTH2] impersonatedEmail: o e-mail a ser personificado.
 
 
- Modo do aplicativo
- Campos usados por GoogleAdsClientBuilder:- [GOOGLE_ADS] developerToken: seu token de desenvolvedor para acessar a API.
- [GOOGLE_ADS] loginCustomerId: o ID do cliente autorizado a ser usado na solicitação.
- [GOOGLE_ADS] linkedCustomerId: o ID do cliente vinculado.
- [LOGGING] logFilePath: o caminho do arquivo para registro.
- [LOGGING] logLevel: o nível de registro.
- [CONNECTION] proxy: o URL do servidor proxy usado para conectividade de Internet.
- [CONNECTION] transport: o transporte.
- [CONNECTION] grpcChannelIsSecure: indica se o canal gRPC é seguro ou não.
- [CONNECTION] grpcChannelCredential: as credenciais do canal gRPC.
- [CONNECTION] unaryMiddlewares: os middlewares unários.
- [CONNECTION] streamingMiddlewares: os middlewares de streaming.
- [CONNECTION] grpcInterceptors: os interceptadores do gRPC.
 
Validação de configuração
As configurações são verificadas ao instanciar clientes, e exceções são geradas quando inválidas. Estas são as regras:
- Os campos [OAUTH2]não podem ser definidos para o modo de aplicativo e o modo de conta de serviço ao mesmo tempo.
- [OAUTH2] jsonKeyFilePathe- [OAUTH2] scopesprecisam ser definidos ao usar o modo da conta de serviço.
- [OAUTH2] clientId,- [OAUTH2] clientSecrete- [OAUTH2] refreshTokenprecisam ser definidos ao usar o modo de aplicativo.
- O campo [GOOGLE_ADS] developerTokenprecisa estar sempre definido.
- Se definido, [GOOGLE_ADS] loginCustomerIde[GOOGLE_ADS] linkedCustomerIdprecisam ser números positivos.
- Se definido, [CONNECTION] proxyprecisa ser um URL válido (consulte o filtro FILTER_VALIDATE_URL).
- Se definido, [LOGGING] logLevelprecisa ser um nível de registro PSR válido em letras maiúsculas, comoINFO.
- Se definido, [CONNECTION] transportprecisará sergrpcourest.
- Se [CONNECTION] transportestiver definido comogrpc, o transporte gRPC precisará ser compatível com o ambiente. Consulte o guia transporte.
- [CONNECTION] grpcChannelIsSecureprecisa ser- truequando- [CONNECTION] transportnão está definido como- grpc.
- [CONNECTION] grpcChannelCredentialsó pode ser definido quando- [CONNECTION] transportestá definido como- grpc.
- [CONNECTION] grpcChannelCredentialsó pode ser definido quando- [CONNECTION] grpcChannelIsSecureé- true.