Configurazione

La libreria client PHP dell'API di Google Ads offre diverse impostazioni di configurazione che puoi utilizzare per personalizzare il comportamento della libreria.

File di configurazione

Puoi archiviare la maggior parte di queste impostazioni di configurazione in file ini e utilizzarle durante la creazione di istanze dei client, ad esempio google_ads_php.ini.

Sia le credenziali che gli strumenti di creazione client forniscono metodi fromFile per caricare le impostazioni da questi file:

$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 non viene fornito un percorso del file di configurazione come argomento, i metodi fromFile vengono caricati dal percorso del file di configurazione predefinito, ovvero:

  1. Il valore della variabile di ambiente denominata GOOGLE_ADS_CONFIGURATION_FILE_PATH, se impostata.
  2. Altrimenti, il file google_ads_php.ini nella directory HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Configurazione dinamica

Puoi definire le impostazioni di configurazione in modo dinamico quando crei un'istanza dei client.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();

Variabili di ambiente di configurazione

Puoi impostare alcune delle impostazioni di configurazione dalle variabili di ambiente durante la creazione di clienti (consulta l'elenco completo).

Sia le credenziali sia gli strumenti di creazione client offrono metodi fromEnvironmentVariables per caricare le impostazioni dalle variabili di ambiente:

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

Campi di configurazione

Le impostazioni di configurazione supportano diversi campi organizzati in categorie.

  1. Campi utilizzati da OAuth2TokenBuilder:
    • Modalità applicazione
      • [OAUTH2] clientId: il tuo ID client OAuth2.
      • [OAUTH2] clientSecret: il tuo client secret OAuth2.
      • [OAUTH2] refreshToken: il tuo token di aggiornamento OAuth2.
    • Modalità account di servizio
      • [OAUTH2] jsonKeyFilePath: il percorso file della chiave Json.
      • [OAUTH2] scopes: gli ambiti.
      • [OAUTH2] impersonatedEmail: l'email da impersonare.
  2. Campi utilizzati da GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: il token sviluppatore per accedere all'API.
    • [GOOGLE_ADS] loginCustomerId: l'ID del cliente autorizzato da utilizzare nella richiesta.
    • [GOOGLE_ADS] linkedCustomerId: l'ID cliente collegato.
    • [LOGGING] logFilePath: il percorso del file per il logging.
    • [LOGGING] logLevel: livello di logging.
    • [CONNECTION] proxy: l'URL del server proxy utilizzato per la connettività a internet.
    • [CONNECTION] transport: mezzi di trasporto.
    • [CONNECTION] grpcChannelIsSecure: verifica che il canale gRPC sia sicuro o meno.
    • [CONNECTION] grpcChannelCredential: le credenziali del canale gRPC.
    • [CONNECTION] unaryMiddlewares: il middleware unario.
    • [CONNECTION] streamingMiddlewares: il middleware per lo streaming.
    • [CONNECTION] grpcInterceptors: gli intercettatori gRPC.
  3. [GAPIC] useGapicV2Source: indica se utilizzare il codice sorgente GAPIC v2 durante la creazione dei client di servizio.

Convalida della configurazione

Le impostazioni di configurazione vengono verificate quando vengono generati un'istanza di client ed eccezioni quando non sono validi. Ecco le regole:

  1. I campi [OAUTH2] non devono essere impostati contemporaneamente per la modalità di applicazione e la modalità Account di servizio.
  2. È necessario impostare [OAUTH2] jsonKeyFilePath e [OAUTH2] scopes quando si utilizza la modalità Account di servizio.
  3. Quando si utilizza la modalità applicazione è necessario impostare [OAUTH2] clientId, [OAUTH2] clientSecret e [OAUTH2] refreshToken.
  4. [GOOGLE_ADS] developerToken deve essere sempre impostato.
  5. Se impostato, [GOOGLE_ADS] loginCustomerId e [GOOGLE_ADS] linkedCustomerId devono essere numeri positivi.
  6. Se impostato, [CONNECTION] proxy deve essere un URL valido (vedi il filtro FILTER_VALIDATE_URL).
  7. Se impostato, [LOGGING] logLevel deve essere un livello di log PPR valido in lettere maiuscole, ad esempio INFO.
  8. Se impostato, [CONNECTION] transport deve essere grpc o rest.
  9. Se [CONNECTION] transport è impostato su grpc, il trasporto gRPC deve essere supportato dall'ambiente (consulta la guida sul trasporto).
  10. [CONNECTION] grpcChannelIsSecure deve essere true quando [CONNECTION] transport non è impostato su grpc.
  11. [CONNECTION] grpcChannelCredential può essere impostato solo quando [CONNECTION] transport è impostato su grpc.
  12. [CONNECTION] grpcChannelCredential può essere impostato solo quando [CONNECTION] grpcChannelIsSecure è true.