Configuração

A biblioteca de 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 configurações em arquivos ini e usá-las 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 não houver um caminho do arquivo de configuração fornecido como argumento, os métodos fromFile serão carregados do caminho do arquivo de configuração padrão, que é:

  1. O valor da variável de ambiente chamada GOOGLE_ADS_CONFIGURATION_FILE_PATH, se definida.
  2. Caso contrário, o arquivo google_ads_php.ini no diretório HOME.
$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.

As credenciais e os criadores de clientes oferecem 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.

  1. Campos usados por OAuth2TokenBuilder:
    • Modo aplicativo
      • [OAUTH2] clientId: o 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.
  2. 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 a 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.
  3. [GAPIC] useGapicV2Source: indica se o código-fonte GAPIC v2 será usado ao criar clientes de serviço.

Validação de configuração

As definições de configuração são verificadas quando clientes de instanciação e exceções são geradas quando inválidos. Estas são as regras:

  1. Os campos [OAUTH2] não podem ser definidos para o Modo aplicativo e o Modo da conta de serviço ao mesmo tempo.
  2. [OAUTH2] jsonKeyFilePath e [OAUTH2] scopes precisam ser definidos ao usar o modo da conta de serviço.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret e [OAUTH2] refreshToken precisam ser definidos ao usar o Modo aplicativo.
  4. [GOOGLE_ADS] developerToken precisa ser sempre definido.
  5. Se definido, [GOOGLE_ADS] loginCustomerId e [GOOGLE_ADS] linkedCustomerId precisam ser números positivos.
  6. Se definido, [CONNECTION] proxy precisará ser um URL válido (consulte o filtro FILTER_VALIDATE_URL).
  7. Se definido, [LOGGING] logLevel precisa ser um nível de registro PSR válido em letras maiúsculas, como INFO.
  8. Se definido, [CONNECTION] transport precisará ser grpc ou rest.
  9. Se [CONNECTION] transport estiver definido como grpc, o transporte gRPC precisará ser compatível com o ambiente. Consulte o guia transporte.
  10. [CONNECTION] grpcChannelIsSecure precisa ser true quando [CONNECTION] transport não está definido como grpc.
  11. [CONNECTION] grpcChannelCredential só pode ser definido quando [CONNECTION] transport é definido como grpc.
  12. [CONNECTION] grpcChannelCredential só poderá ser definido quando [CONNECTION] grpcChannelIsSecure for true.