Para analizar nuestros productos y brindar comentarios sobre ellos, únete al canal oficial de Discord de Google Ads en el servidor de la Comunidad de Publicidad y Medición de Google.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La biblioteca cliente de PHP de la API de Google Ads proporciona varios parámetros de configuración que puedes usar para personalizar el comportamiento de la biblioteca.
Archivo de configuración
Puedes almacenar la mayoría de estos parámetros de configuración en archivos ini y usarlos cuando crees instancias de clientes, por ejemplo, google_ads_php.ini.
Los compiladores de credenciales y clientes proporcionan métodos fromFile para cargar la configuración de esos archivos:
$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 no se proporciona una ruta de acceso de configuración como argumento, los métodos fromFile se cargan desde la ruta de acceso de configuración predeterminada, que es la siguiente:
Valor de la variable de entorno llamada GOOGLE_ADS_CONFIGURATION_FILE_PATH, si está configurada.
De lo contrario, el archivo google_ads_php.ini en tu directorio HOME.
$oAuth2Credential = (new OAuth2TokenBuilder()) ->fromFile() ->build();$googleAdsClient = (new GoogleAdsClientBuilder()) ->fromFile() ->withOAuth2Credential($oAuth2Credential) ->build();
Configuración dinámica
Puedes establecer estos parámetros de configuración de forma dinámica cuando crees instancias de clientes.
$oAuth2Credential = (new OAuth2TokenBuilder()) ->withClientId('INSERT_CLIENT_ID') // ... ->build();$googleAdsClient = (new GoogleAdsClientBuilder()) ->withOAuth2Credential($oAuth2Credential) ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE') // ... ->build();
Variables de entorno de configuración
Puedes establecer algunos parámetros de configuración a partir de variables de entorno cuando creas instancias de clientes (consulta la lista exhaustiva).
Los compiladores de credenciales y clientes proporcionan métodos fromEnvironmentVariables para cargar la configuración desde variables de entorno:
$oAuth2Credential = (new OAuth2TokenBuilder()) // ... ->fromEnvironmentVariables() ->build();$googleAdsClient = (new GoogleAdsClientBuilder()) ->withOAuth2Credential($oAuth2Credential) // ... ->fromEnvironmentVariables() ->build();
Campos de configuración
Los parámetros de configuración admiten varios campos organizados en categorías.
Campos que usa OAuth2TokenBuilder:
Modo de la aplicación
[OAUTH2] clientId: Es tu ID de cliente de OAuth2.
[OAUTH2] clientSecret: Es el secreto de tu cliente de OAuth2.
[OAUTH2] refreshToken: Es tu token de actualización de OAuth2.
Modo de cuenta de servicio
[OAUTH2] jsonKeyFilePath: Es la ruta de acceso al archivo de clave JSON.
[OAUTH2] scopes: Son los permisos.
[OAUTH2] impersonatedEmail: Es el correo electrónico que se suplantará.
Campos que usa GoogleAdsClientBuilder:
[GOOGLE_ADS] developerToken: Es tu token de desarrollador para acceder a la API.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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`."]]