Pour discuter de nos produits et nous faire part de vos commentaires, rejoignez le canal Discord officiel Google Ads sur le serveur de la communauté Google Advertising and Measurement.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La bibliothèque cliente PHP de l'API Google Ads 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 des clients, par exemple google_ads_php.ini.
Les créateurs d'identifiants et de clients fournissent tous deux des méthodes fromFile pour charger les 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 de configuration n'est fourni en tant qu'argument, les méthodes fromFile chargent le chemin de configuration par défaut, qui est le suivant :
Valeur de la variable d'environnement nommée GOOGLE_ADS_CONFIGURATION_FILE_PATH, si elle est définie.
Sinon, le fichier google_ads_php.ini se trouve 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 des 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 des clients (consultez la liste exhaustive).
Les générateurs d'identifiants et de clients fournissent tous deux des méthodes fromEnvironmentVariables pour charger les paramètres à partir des variables d'environnement :
$oAuth2Credential = (new OAuth2TokenBuilder()) // ... ->fromEnvironmentVariables() ->build();$googleAdsClient = (new GoogleAdsClientBuilder()) ->withOAuth2Credential($oAuth2Credential) // ... ->fromEnvironmentVariables() ->build();
Champs de configuration
Les paramètres de configuration sont compatibles avec plusieurs champs organisés par catégories.
Champs utilisés par OAuth2TokenBuilder :
Mode Application
[OAUTH2] clientId : votre ID client OAuth2.
[OAUTH2] clientSecret : code secret de votre client OAuth2.
Les paramètres de configuration sont vérifiés lors de l'instanciation des clients, et des exceptions sont générées en cas de paramètres non valides. Voici les règles :
Les champs [OAUTH2] ne doivent pas être définis simultanément pour le mode Application et le mode Compte de service.
[OAUTH2] jsonKeyFilePath et [OAUTH2] scopes doivent être définis lorsque vous utilisez le mode Compte de service.
[OAUTH2] clientId, [OAUTH2] clientSecret et [OAUTH2] refreshToken doivent être définis lorsque vous utilisez le mode Application.
[GOOGLE_ADS] developerToken doit toujours être défini.
Si elles sont définies, [GOOGLE_ADS] loginCustomerId et [GOOGLE_ADS] linkedCustomerId doivent être des nombres positifs.
Si la valeur est définie, [CONNECTION] proxy doit être une URL valide (voir le filtre FILTER_VALIDATE_URL).
Si elle est définie, [LOGGING] logLevel doit être un niveau de journalisation PSR valide en majuscules, tel que INFO.
Si la valeur est définie, [CONNECTION] transport doit être grpc ou rest.
Si [CONNECTION] transport est défini sur grpc, le transport gRPC doit être pris en charge par l'environnement (voir le guide transport).
[CONNECTION] grpcChannelIsSecure doit être défini sur true lorsque [CONNECTION]
transport n'est pas défini sur grpc.
[CONNECTION] grpcChannelCredential ne peut être défini que lorsque [CONNECTION]
transport est défini sur grpc.
[CONNECTION] grpcChannelCredential ne peut être défini que lorsque [CONNECTION]
grpcChannelIsSecure est true.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[[["\u003cp\u003eThe Google Ads API PHP client library offers customizable configuration settings through INI files, dynamic settings, and environment variables.\u003c/p\u003e\n"],["\u003cp\u003eYou can manage authentication using either Application Mode (client ID, secret, refresh token) or Service Account Mode (JSON key file).\u003c/p\u003e\n"],["\u003cp\u003eEssential settings include developer token, login customer ID, and optional proxy, logging, and transport configurations.\u003c/p\u003e\n"],["\u003cp\u003eConfiguration settings are validated upon client instantiation to ensure correctness and prevent errors.\u003c/p\u003e\n"],["\u003cp\u003eFor detailed information about specific configuration fields and their usage, refer to the provided documentation links.\u003c/p\u003e\n"]]],[],null,["# Configuration\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThe Google Ads API PHP client library provides several configuration settings that you\ncan use to customize the library behavior.\n\nConfiguration file\n------------------\n\nYou can store most of these configuration settings in\n[`ini`](//www.php.net/manual/en/function.parse-ini-file.php)\nfiles and use them when instantiating clients, for example,\n[`google_ads_php.ini`](https://github.com/googleads/google-ads-php/blob/HEAD/examples/Authentication/google_ads_php.ini).\n\nThe credential and client builders both provide `fromFile` methods to load\nsettings from such files: \n\n $oAuth2Credential = (new OAuth2TokenBuilder())\n -\u003efromFile('/path/to/google_ads_php.ini')\n -\u003ebuild();\n\n $googleAdsClient = (new GoogleAdsClientBuilder())\n -\u003efromFile('/path/to/google_ads_php.ini')\n -\u003ewithOAuth2Credential($oAuth2Credential)\n -\u003ebuild();\n\nIf there is no configuration path provided as argument, the `fromFile`\nmethods load from the default configuration path which is:\n\n1. The value of the environment variable named `GOOGLE_ADS_CONFIGURATION_FILE_PATH` if set.\n2. Otherwise, the `google_ads_php.ini` file in your `HOME` directory.\n\n $oAuth2Credential = (new OAuth2TokenBuilder())\n -\u003efromFile()\n -\u003ebuild();\n\n $googleAdsClient = (new GoogleAdsClientBuilder())\n -\u003efromFile()\n -\u003ewithOAuth2Credential($oAuth2Credential)\n -\u003ebuild();\n\nDynamic configuration\n---------------------\n\nYou can set these configuration settings dynamically when instantiating clients. \n\n $oAuth2Credential = (new OAuth2TokenBuilder())\n -\u003ewithClientId('INSERT_CLIENT_ID')\n // ...\n -\u003ebuild();\n\n $googleAdsClient = (new GoogleAdsClientBuilder())\n -\u003ewithOAuth2Credential($oAuth2Credential)\n -\u003ewithDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')\n // ...\n -\u003ebuild();\n\nConfiguration environment variables\n-----------------------------------\n\nYou can set some of the configuration settings from environment variables when\ninstantiating clients (see the [exhaustive\nlist](/google-ads/api/docs/client-libs#configuration)).\n\nThe credential and client builders both provide `fromEnvironmentVariables`\nmethods to load settings from environment variables:\n**Note:** Unset environment variables are *not* taken into account. \n\n $oAuth2Credential = (new OAuth2TokenBuilder())\n // ...\n -\u003efromEnvironmentVariables()\n -\u003ebuild();\n\n $googleAdsClient = (new GoogleAdsClientBuilder())\n -\u003ewithOAuth2Credential($oAuth2Credential)\n // ...\n -\u003efromEnvironmentVariables()\n -\u003ebuild();\n\nConfiguration fields\n--------------------\n\n| **Note:** The fields `grpcChannelCredential`, `unaryMiddlewares`, `streamingMiddlewares` and `grpcInterceptors` cannot be set from a configuration file or string but only dynamically.\n\nThe configuration settings support several fields organized in categories.\n\n1. Fields used by `OAuth2TokenBuilder`:\n - Application Mode\n - `[OAUTH2] clientId`: Your OAuth2 client ID.\n - `[OAUTH2] clientSecret`: Your OAuth2 client secret.\n - `[OAUTH2] refreshToken`: Your OAuth2 refresh token.\n - Service Account Mode\n - `[OAUTH2] jsonKeyFilePath`: The Json key file path.\n - `[OAUTH2] scopes`: The scopes.\n - `[OAUTH2] impersonatedEmail`: The email to impersonate.\n2. Fields used by `GoogleAdsClientBuilder`:\n - `[GOOGLE_ADS] developerToken`: Your developer token for accessing the API.\n - `[GOOGLE_ADS] loginCustomerId`: The [ID of the authorized\n customer](/google-ads/api/docs/concepts/call-structure#cid) to use in the request.\n - `[GOOGLE_ADS] linkedCustomerId`: The linked customer ID.\n - `[LOGGING] logFilePath`: The file path for logging.\n - `[LOGGING] logLevel`: The logging level.\n - `[CONNECTION] proxy`: The proxy server URL used for internet connectivity.\n - `[CONNECTION] transport`: The transport.\n - `[CONNECTION] grpcChannelIsSecure`: Whether the gRPC channel is secure or not.\n - `[CONNECTION] grpcChannelCredential`: The gRPC channel credentials.\n - `[CONNECTION] unaryMiddlewares`: The unary middlewares.\n - `[CONNECTION] streamingMiddlewares`: The streaming middlewares.\n - `[CONNECTION] grpcInterceptors`: The gRPC interceptors.\n\nConfiguration validation\n------------------------\n\nThe configuration settings are checked when instantiating clients and exceptions\nare thrown when invalid. Here are the rules:\n\n1. `[OAUTH2]` fields must not be set for both Application Mode and Service Account Mode at the same time.\n2. `[OAUTH2] jsonKeyFilePath` and `[OAUTH2] scopes` must be set when using the Service Account Mode.\n3. `[OAUTH2] clientId`, `[OAUTH2] clientSecret` and `[OAUTH2] refreshToken` must be set when using the Application Mode.\n4. `[GOOGLE_ADS] developerToken` must always be set.\n5. If set, `[GOOGLE_ADS] loginCustomerId` and `[GOOGLE_ADS] linkedCustomerId` must be positive numbers.\n6. If set, `[CONNECTION] proxy` must be a valid URL (see filter [FILTER_VALIDATE_URL](https://www.php.net/manual/en/filter.constants.php)).\n7. If set, `[LOGGING] logLevel` must be a valid [PSR log\n level](https://github.com/php-fig/log/blob/master/src/LogLevel.php) in capital-letters, such as `INFO`.\n8. If set, `[CONNECTION] transport` must be either `grpc` or `rest`.\n9. If `[CONNECTION] transport` is set to `grpc`, the gRPC transport must be supported by the environment (see guide [transport](/google-ads/api/docs/client-libs/php/transport)).\n10. `[CONNECTION] grpcChannelIsSecure` must be `true` when `[CONNECTION]\n transport` is not set to `grpc`.\n11. `[CONNECTION] grpcChannelCredential` can only be set when `[CONNECTION]\n transport` is set to `grpc`.\n12. `[CONNECTION] grpcChannelCredential` can only be set when `[CONNECTION]\n grpcChannelIsSecure` is `true`."]]