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 de configuración 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 configuración como argumento, los métodos fromFile
se cargan desde la ruta de configuración predeterminada, que es la siguiente:
- Es el valor de la variable de entorno llamada
GOOGLE_ADS_CONFIGURATION_FILE_PATH, si está configurada. - De lo contrario, el archivo
google_ads_php.inien tu directorioHOME.
$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_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->build();
Variables de entorno de configuración
Puedes establecer algunos de los parámetros de configuración desde las variables de entorno cuando creas instancias de clientes (consulta las variables de entorno estándar).
Los compiladores de credenciales y clientes proporcionan métodos fromEnvironmentVariables
para cargar la configuración desde las 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 aplicación:
[OAUTH2] clientId: Es tu ID de cliente de OAuth2.[OAUTH2] clientSecret: Es tu secreto del 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 de la clave JSON.[OAUTH2] scopes: Son los permisos de OAuth2 (el valor predeterminado eshttps://www.googleapis.com/auth/adwordsenv32.1.0y versiones posteriores; es obligatorio en versiones anteriores av32.1.0o cuando se usan permisos personalizados;fromEnvironmentVariables()no lo lee desde una variable de entorno).[OAUTH2] impersonatedEmail: Es la dirección de correo electrónico opcional para suplantar la identidad cuando se usa la delegación de todo el dominio de Google Workspace.
- Modo de credenciales predeterminadas de la aplicación:
- Cuando no se configuran los campos de modo de aplicación ni de modo de cuenta de servicio,
OAuth2TokenBuilderrecurre automáticamente a las credenciales predeterminadas de la aplicación (ADC).
- Cuando no se configuran los campos de modo de aplicación ni de modo de cuenta de servicio,
- Modo de aplicación:
- Campos que usa
GoogleAdsClientBuilder:[GOOGLE_ADS] loginCustomerId: Es el ID del cliente autorizado que se usará en la solicitud.[GOOGLE_ADS] linkedCustomerId: Es el ID de cliente vinculado.[GOOGLE_ADS] endpoint: Es el extremo alternativo opcional del servidor de la API de Google Ads.[LOGGING] logFilePath: Es la ruta de acceso para el resultado del registro.[LOGGING] logLevel: Es el nivel de registro.[CONNECTION] proxy: Es la URL del servidor proxy que se usa para la conectividad a Internet.[CONNECTION] transport: Es el transporte de red (grpcorest).[CONNECTION] grpcChannelIsSecure: Indica si el canal de gRPC es seguro.[CONNECTION] grpcChannelCredential: Son las credenciales del canal de gRPC.[CONNECTION] unaryMiddlewares: Son los middlewares unarios.[CONNECTION] streamingMiddlewares: Son los middlewares de transmisión.[CONNECTION] grpcInterceptors: Son los interceptores de gRPC.
Validación de la configuración
Los parámetros de configuración se verifican cuando se crean instancias de los clientes y se arrojan excepciones cuando no son válidos. Las reglas de validación son las siguientes:
- No se deben configurar los campos
[OAUTH2]para el modo de aplicación y el modo de cuenta de servicio al mismo tiempo. [OAUTH2] jsonKeyFilePathdebe configurarse cuando se usa el modo de cuenta de servicio (en versiones anteriores av32.1.0, también se debe configurar[OAUTH2] scopes; env32.1.0y versiones posteriores,scopesse establece de forma predeterminada enhttps://www.googleapis.com/auth/adwords).[OAUTH2] clientId,[OAUTH2] clientSecrety[OAUTH2] refreshTokense deben configurar cuando se usa el modo Aplicación.- Si se establecen,
[GOOGLE_ADS] loginCustomerIdy[GOOGLE_ADS] linkedCustomerIddeben ser números positivos. - Si se establece,
[CONNECTION] proxydebe ser una URL válida (consulta el filtroFILTER_VALIDATE_URL). - Si se establece,
[LOGGING] logLeveldebe ser un nivel de registro de PSR válido en letras mayúsculas, comoINFO. - Si se establece,
[CONNECTION] transportdebe sergrpcorest. - Si
[CONNECTION] transportse establece engrpc, el entorno debe admitir el transporte de gRPC (consulta la guía de transporte). [CONNECTION] grpcChannelIsSecuredebe sertruecuando[CONNECTION] transportno se establece engrpc(las conexiones REST siempre requieren HTTPS).[CONNECTION] grpcChannelCredentialsolo se puede configurar cuando[CONNECTION] transportse establece comogrpc.[CONNECTION] grpcChannelCredentialsolo se puede configurar cuando[CONNECTION] grpcChannelIsSecureestrue.