Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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
ini e utilizzarli quando crei istanze dei client, ad esempio
google_ads_php.ini.
I builder 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:
Il valore della variabile di ambiente denominata
GOOGLE_ADS_CONFIGURATION_FILE_PATH, se impostata.
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 durante 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 durante
l'istanza dei client (consulta l'elenco
esaustivo).
I builder di credenziali e client forniscono entrambi 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.
Campi utilizzati da OAuth2TokenBuilder:
Modalità applicazione
[OAUTH2] clientId: il tuo ID client OAuth2.
[OAUTH2] clientSecret: il client secret OAuth2.
[OAUTH2] refreshToken: il token di aggiornamento OAuth2.
Modalità service account
[OAUTH2] jsonKeyFilePath: il percorso del file di chiavi JSON.
[OAUTH2] scopes: Gli ambiti.
[OAUTH2] impersonatedEmail: L'email da rappresentare.
Campi utilizzati da GoogleAdsClientBuilder:
[GOOGLE_ADS] developerToken: il token sviluppatore per accedere all'API.
[LOGGING] logFilePath: il percorso del file per la registrazione.
[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: indica 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 intercettori gRPC.
Convalida della configurazione
Le impostazioni di configurazione vengono controllate durante l'istanza dei client e vengono generate eccezioni
quando non sono valide. Ecco le regole:
I campi [OAUTH2] non devono essere impostati contemporaneamente per la modalità Applicazione e la modalità Account di servizio.
[OAUTH2] jsonKeyFilePath e [OAUTH2] scopes devono essere impostati quando si utilizza
la modalità Service Account.
[OAUTH2] clientId, [OAUTH2] clientSecret e [OAUTH2] refreshToken devono
essere impostati quando si utilizza la modalità applicazione.
[GOOGLE_ADS] developerToken deve essere sempre impostato.
Se impostati, [GOOGLE_ADS] loginCustomerId e [GOOGLE_ADS] linkedCustomerId
devono essere numeri positivi.
Se impostato, [CONNECTION] proxy deve essere un URL valido (vedi filtro
FILTER_VALIDATE_URL).
Se impostato, [LOGGING] logLevel deve essere un livello di log PSR
valido in
lettere maiuscole, ad esempio INFO.
Se impostato, [CONNECTION] transport deve essere grpc o rest.
Se [CONNECTION] transport è impostato su grpc, il trasporto gRPC deve essere
supportato dall'ambiente (vedi la guida transport).
[CONNECTION] grpcChannelIsSecure deve essere true quando [CONNECTION]
transport non è impostato su grpc.
[CONNECTION] grpcChannelCredential può essere impostato solo quando [CONNECTION]
transport è impostato su grpc.
[CONNECTION] grpcChannelCredential può essere impostato solo quando [CONNECTION]
grpcChannelIsSecure è true.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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`."]]