A biblioteca cliente PHP da Google Ads API fornece várias configurações que podem ser usadas para personalizar o comportamento da biblioteca.
Arquivo de configuração
É possível armazenar a maioria dessas definições de configuração em
arquivos ini
e usá-las ao instanciar clientes, por exemplo,
google_ads_php.ini
.
Os criadores de credenciais e clientes fornecem 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 arquivo de configuração for fornecido como argumento, os métodos fromFile
serão carregados do caminho do arquivo de configuração padrão, que é:
- O valor da variável de ambiente chamada
GOOGLE_ADS_CONFIGURATION_FILE_PATH
, se definido. - Caso contrário, o arquivo
google_ads_php.ini
no diretórioHOME
.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
Configuração dinâmica
É possível definir essas configurações de maneira dinâmica 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 a partir de variáveis de ambiente ao instanciar clientes (consulte a lista completa).
Os criadores de credenciais e clientes 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 são compatíveis com vários campos organizados em categorias.
- Campos usados por
OAuth2TokenBuilder
:- Modo aplicativo
[OAUTH2] clientId
: seu ID do cliente OAuth2.[OAUTH2] clientSecret
: a chave secreta do cliente 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 representado.
- Modo 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 de cliente vinculado.[LOGGING] logFilePath
: o caminho do arquivo para geração de registros.[LOGGING] logLevel
: o nível de geração de registros.[CONNECTION] proxy
: o URL do servidor proxy usado para conectividade com a Internet.[CONNECTION] transport
: o transporte.[CONNECTION] grpcChannelIsSecure
: 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.
[GAPIC] useGapicV2Source
: indica se o código-fonte GAPIC v2 (link em inglês) será usado ao criar clientes de serviço.
Validação de configuração
As definições de configuração são verificadas na instância de clientes, e as exceções são geradas quando são inválidas. Confira 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] jsonKeyFilePath
e[OAUTH2] scopes
precisam ser definidos ao usar o modo de conta de serviço.[OAUTH2] clientId
,[OAUTH2] clientSecret
e[OAUTH2] refreshToken
precisam ser definidos ao usar o modo de aplicativo.- O
[GOOGLE_ADS] developerToken
precisa ser sempre definido. - Se definido,
[GOOGLE_ADS] loginCustomerId
e[GOOGLE_ADS] linkedCustomerId
precisam ser números positivos. - Se definido,
[CONNECTION] proxy
precisa ser um URL válido (consulte o filtro FILTER_VALIDATE_URL). - Se definido,
[LOGGING] logLevel
precisará ser um nível de registro PSR válido em letras maiúsculas, comoINFO
. - Se definido,
[CONNECTION] transport
precisa sergrpc
ourest
. - Se
[CONNECTION] transport
estiver definido comogrpc
, o transporte gRPC precisará ser compatível com o ambiente (consulte o guia transporte). [CONNECTION] grpcChannelIsSecure
precisa sertrue
quando[CONNECTION] transport
não estiver definido comogrpc
.[CONNECTION] grpcChannelCredential
só pode ser definido quando[CONNECTION] transport
é definido comogrpc
.[CONNECTION] grpcChannelCredential
só pode ser definido quando[CONNECTION] grpcChannelIsSecure
étrue
.