Configuración

La biblioteca cliente de PHP de la API de Google Ads proporciona varios ajustes de configuración que puedes usar para personalizar el comportamiento de la biblioteca.

Archivo de configuración

Puedes almacenar la mayoría de estas opciones de configuración en archivos ini y usarlas cuando creas instancias de clientes, por ejemplo, google_ads_php.ini.

Los compiladores de credenciales y cliente 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 del archivo de configuración como argumento, los métodos fromFile se cargan desde la ruta predeterminada del archivo de configuración, que es la siguiente:

  1. El valor de la variable de entorno llamado GOOGLE_ADS_CONFIGURATION_FILE_PATH, si se configuró.
  2. De lo contrario, el archivo google_ads_php.ini del directorio HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Configuración dinámica

Puedes establecer estos ajustes de configuración de forma dinámica cuando creas 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 ajustes en las variables de entorno cuando creas instancias de los clientes (consulta la lista exhaustiva).

Los compiladores de credenciales y clientes proporcionan métodos fromEnvironmentVariables para cargar la configuración de variables de entorno:

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

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

Campos de configuración

La configuración admite varios campos organizados en categorías.

  1. Campos utilizados por OAuth2TokenBuilder:
    • Modo de aplicación
      • [OAUTH2] clientId: Es tu ID de cliente de OAuth2.
      • [OAUTH2] clientSecret: El secreto de cliente de OAuth2
      • [OAUTH2] refreshToken: Es el token de actualización de OAuth2.
    • Modo de cuenta de servicio
      • [OAUTH2] jsonKeyFilePath: Es la ruta del archivo de claves de JSON.
      • [OAUTH2] scopes: Los permisos.
      • [OAUTH2] impersonatedEmail: El correo electrónico que se usará para robar la identidad de otra persona.
  2. Campos utilizados por GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: El token de desarrollador para acceder a la API.
    • [GOOGLE_ADS] loginCustomerId: El ID de cliente de acceso
    • [GOOGLE_ADS] linkedCustomerId: El ID de cliente vinculado
    • [LOGGING] logFilePath: La ruta del archivo para el registro.
    • [LOGGING] logLevel: El nivel de registro
    • [CONNECTION] proxy: Es la URL del servidor proxy que se usa para la conexión a Internet.
    • [CONNECTION] transport: es el transporte.
    • [CONNECTION] grpcChannelIsSecure: Indica si el canal de gRPC es seguro o no.
    • [CONNECTION] grpcChannelCredential: Son las credenciales del canal de gRPC.
    • [CONNECTION] unaryMiddlewares: Los middlewarees unarios.
    • [CONNECTION] streamingMiddlewares: Son los middlewares de transmisión.
    • [CONNECTION] grpcInterceptors: Los interceptores de gRPC

Validación de la configuración

La configuración se verifica cuando se crean instancias de clientes y se arrojan excepciones cuando no son válidas. Estas son las reglas:

  1. No se deben configurar los campos [OAUTH2] para el modo de aplicación y el modo de cuenta de servicio al mismo tiempo.
  2. Cuando se usa el modo de cuenta de servicio, se deben configurar [OAUTH2] jsonKeyFilePath y [OAUTH2] scopes.
  3. Cuando se usa el modo de aplicación, se deben configurar [OAUTH2] clientId, [OAUTH2] clientSecret y [OAUTH2] refreshToken.
  4. Siempre se debe configurar [GOOGLE_ADS] developerToken.
  5. Si se configura, [GOOGLE_ADS] loginCustomerId y [GOOGLE_ADS] linkedCustomerId deben ser números positivos.
  6. Si se configura, [CONNECTION] proxy debe ser una URL válida (consulta el filtro FILTER_VALIDATE_URL).
  7. Si se configura, [LOGGING] logLevel debe ser un nivel de registro de PRS válido en mayúsculas, como INFO.
  8. Si se configura, [CONNECTION] transport debe ser grpc o rest.
  9. Si [CONNECTION] transport está configurado como grpc, el transporte de gRPC debe ser compatible con el entorno (consulta la guía de transporte).
  10. [CONNECTION] grpcChannelIsSecure debe ser true cuando [CONNECTION] transport no esté configurado como grpc.
  11. Solo se puede establecer [CONNECTION] grpcChannelCredential cuando [CONNECTION] transport se establece en grpc.
  12. [CONNECTION] grpcChannelCredential solo se puede establecer cuando [CONNECTION] grpcChannelIsSecure es true.