Configuración

La biblioteca cliente de PHP de la API de Google Ads proporciona varias opciones 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 creas instancias de clientes, por ejemplo, google_ads_php.ini.

Los creadores 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 al archivo de configuración como argumento, los métodos fromFile se cargan desde la ruta predeterminada del archivo de configuración:

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

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

Configuración dinámica

Puede establecer estos parámetros de configuración de forma dinámica cuando crea una instancia de los 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 de los parámetros de configuración de las variables de entorno cuando creas instancias de clientes (consulta la lista completa).

Los compiladores de credenciales y clientes proporcionan métodos fromEnvironmentVariables para cargar la configuración de las 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 que usa 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 la cuenta de servicio
      • [OAUTH2] jsonKeyFilePath: La ruta del archivo de claves de JSON.
      • [OAUTH2] scopes: Los permisos.
      • [OAUTH2] impersonatedEmail: Es el correo electrónico que usará alguien más.
  2. Campos que usa GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: Es el token de desarrollador para acceder a la API.
    • [GOOGLE_ADS] loginCustomerId: Es el ID del cliente autorizado que se usará en la solicitud.
    • [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: La URL del servidor proxy que se usa para la conectividad a Internet
    • [CONNECTION] transport: Es el transporte.
    • [CONNECTION] grpcChannelIsSecure: Indica si el canal de gRPC es seguro o no.
    • [CONNECTION] grpcChannelCredential: Las credenciales del canal de gRPC.
    • [CONNECTION] unaryMiddlewares: Los middlewares unarios.
    • [CONNECTION] streamingMiddlewares: Los middlewares de transmisión.
    • [CONNECTION] grpcInterceptors: Los interceptores de gRPC.
  3. [GAPIC] useGapicV2Source: Indica si se debe usar código fuente GAPIC v2 cuando se crean clientes de servicio.

Validación de la configuración

Los parámetros de configuración se verifican cuando se crean instancias de clientes y se generan excepciones cuando no son válidos. Estas son las reglas:

  1. Los campos [OAUTH2] no se deben configurar al mismo tiempo en Modo de aplicación y Modo de cuenta de servicio.
  2. [OAUTH2] jsonKeyFilePath y [OAUTH2] scopes se deben configurar cuando se usa el modo de cuenta de servicio.
  3. Se deben configurar [OAUTH2] clientId, [OAUTH2] clientSecret y [OAUTH2] refreshToken cuando se usa el modo de aplicación.
  4. Siempre se debe establecer [GOOGLE_ADS] developerToken.
  5. Si se configuran, [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 PSR válido en letras 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 transport).
  10. [CONNECTION] grpcChannelIsSecure debe ser true cuando [CONNECTION] transport no está configurado como grpc.
  11. [CONNECTION] grpcChannelCredential solo se puede establecer cuando [CONNECTION] transport se establece en grpc.
  12. [CONNECTION] grpcChannelCredential solo se puede establecer cuando [CONNECTION] grpcChannelIsSecure es true.