Configurazione

La libreria client PHP dell'API Google Ads fornisce 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 nei file di ini e utilizzarle per creare un'istanza dei client, ad esempio google_ads_php.ini.

I generatori di credenziali e client forniscono entrambi 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 alcun percorso di configurazione come argomento, i metodi fromFile vengono caricati dal percorso di configurazione predefinito, ovvero:

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

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

Configurazione dinamica

Puoi impostare queste impostazioni di configurazione in modo dinamico quando crei l'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 impostazioni di configurazione dalle variabili di ambiente quando li lighi ai client (consulta l'elenco completo).

I generatori di credenziali e client forniscono entrambi fromEnvironmentVariables metodi 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 del file della chiave JSON.
      • [OAUTH2] scopes: gli ambiti.
      • [OAUTH2] impersonatedEmail: l'indirizzo email da rubare.
  2. Campi utilizzati da GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: il tuo 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: il livello di logging.
    • [CONNECTION] proxy: l'URL del server proxy utilizzato per la connettività a internet.
    • [CONNECTION] transport: il trasporto.
    • [CONNECTION] grpcChannelIsSecure: se il canale gRPC è sicuro o meno.
    • [CONNECTION] grpcChannelCredential: le credenziali del canale gRPC.
    • [CONNECTION] unaryMiddlewares: i middleware unari.
    • [CONNECTION] streamingMiddlewares: i middleware di streaming.
    • [CONNECTION] grpcInterceptors: gli intercettatori gRPC.

Convalida della configurazione

Le impostazioni di configurazione vengono controllate durante l'inizializzazione dei client e vengono generate eccezioni se non sono valide. Ecco le regole:

  1. I campi [OAUTH2] non devono essere impostati contemporaneamente sia per la modalità di applicazione sia per la modalità account servizio.
  2. [OAUTH2] jsonKeyFilePath e [OAUTH2] scopes devono essere impostati quando si utilizza la modalità Account di servizio.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret e [OAUTH2] refreshToken devono essere impostati quando si utilizza la modalità Applicazione.
  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 PSR 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 (vedi la guida transport).
  10. [CONNECTION] grpcChannelIsSecure deve essere true quando [CONNECTION] transport non è impostato su grpc.
  11. [CONNECTION] grpcChannelCredential può essere impostato solo quando il criterio [CONNECTION] transport è impostato su grpc.
  12. [CONNECTION] grpcChannelCredential può essere impostato solo quando [CONNECTION] grpcChannelIsSecure è true.