Configuration

La bibliothèque cliente de l'API Google Ads pour PHP fournit plusieurs paramètres de configuration que vous pouvez utiliser pour personnaliser le comportement de la bibliothèque.

Fichier de configuration

Vous pouvez stocker la plupart de ces paramètres de configuration dans des fichiers ini et les utiliser lors de l'instanciation de clients, par exemple google_ads_php.ini.

Les constructeurs d'identifiants et de clients fournissent des méthodes fromFile pour charger des paramètres à partir de ces fichiers:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Si aucun chemin d'accès au fichier de configuration n'est fourni en tant qu'argument, les méthodes fromFile se chargent à partir du chemin d'accès au fichier de configuration par défaut, soit:

  1. Valeur de la variable d'environnement nommée GOOGLE_ADS_CONFIGURATION_FILE_PATH, si elle est définie.
  2. Sinon, le fichier google_ads_php.ini dans votre répertoire HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Configuration dynamique

Vous pouvez définir ces paramètres de configuration de manière dynamique lors de l'instanciation de clients.

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

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

Variables d'environnement de configuration

Vous pouvez définir certains paramètres de configuration à partir de variables d'environnement lors de l'instanciation de clients (voir la liste exhaustive).

Les compilateurs d'identifiants et de clients fournissent des méthodes fromEnvironmentVariables pour charger des paramètres à partir de variables d'environnement:

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

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

Champs de configuration

Les paramètres de configuration acceptent plusieurs champs organisés en catégories.

  1. Champs utilisés par OAuth2TokenBuilder :
    • Mode d'application
      • [OAUTH2] clientId: votre ID client OAuth2.
      • [OAUTH2] clientSecret: code secret du client OAuth2.
      • [OAUTH2] refreshToken: votre jeton d'actualisation OAuth2.
    • Mode du compte de service
      • [OAUTH2] jsonKeyFilePath: chemin d'accès au fichier de clé JSON.
      • [OAUTH2] scopes: les champs d'application.
      • [OAUTH2] impersonatedEmail: adresse e-mail à emprunter.
  2. Champs utilisés par GoogleAdsClientBuilder :
    • [GOOGLE_ADS] developerToken: votre jeton de développeur pour accéder à l'API.
    • [GOOGLE_ADS] loginCustomerId: ID du client autorisé à utiliser dans la requête.
    • [GOOGLE_ADS] linkedCustomerId: numéro client associé.
    • [LOGGING] logFilePath: chemin d'accès au fichier pour la journalisation.
    • [LOGGING] logLevel: niveau de journalisation.
    • [CONNECTION] proxy: URL du serveur proxy utilisé pour la connectivité Internet.
    • [CONNECTION] transport: transport.
    • [CONNECTION] grpcChannelIsSecure: indique si le canal gRPC est sécurisé ou non.
    • [CONNECTION] grpcChannelCredential: identifiants du canal gRPC.
    • [CONNECTION] unaryMiddlewares: middlewares unaires.
    • [CONNECTION] streamingMiddlewares: middlewares de streaming.
    • [CONNECTION] grpcInterceptors: intercepteurs gRPC
  3. [GAPIC] useGapicV2Source: indique si vous devez utiliser ou non le code source GAPIC v2 pour créer des clients de services.

Validation de la configuration

Les paramètres de configuration sont vérifiés lors de l'instanciation de clients et des exceptions générées en cas de valeur non valide. Voici les règles:

  1. Les champs [OAUTH2] ne doivent pas être définis en même temps pour le mode Application et le mode de compte de service.
  2. [OAUTH2] jsonKeyFilePath et [OAUTH2] scopes doivent être définis lorsque vous utilisez le mode Compte de service.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret et [OAUTH2] refreshToken doivent être définis lors de l'utilisation du mode Application.
  4. [GOOGLE_ADS] developerToken doit toujours être défini.
  5. S'il est défini, les valeurs [GOOGLE_ADS] loginCustomerId et [GOOGLE_ADS] linkedCustomerId doivent être des nombres positifs.
  6. S'il est défini, [CONNECTION] proxy doit être une URL valide (voir le filtre FILTER_VALIDATE_URL).
  7. S'il est défini, [LOGGING] logLevel doit être un niveau de journal PSR valide en lettres majuscules, tel que INFO.
  8. S'il est défini, [CONNECTION] transport doit être grpc ou rest.
  9. Si [CONNECTION] transport est défini sur grpc, le transport gRPC doit être accepté par l'environnement (voir le guide Transport).
  10. [CONNECTION] grpcChannelIsSecure doit être true lorsque [CONNECTION] transport n'est pas défini sur grpc.
  11. [CONNECTION] grpcChannelCredential ne peut être défini que lorsque [CONNECTION] transport est défini sur grpc.
  12. [CONNECTION] grpcChannelCredential ne peut être défini que lorsque [CONNECTION] grpcChannelIsSecure est défini sur true.