Cuentas de servicio

En esta guía, se explica cómo acceder a la API de Google Ads con cuentas de servicio.

Una cuenta de servicio es una cuenta que pertenece a tu app en lugar de a un usuario final individual. Las cuentas de servicio permiten las interacciones de servidor a servidor entre una app web y un servicio de Google. Tu app llama a las APIs de Google en nombre de la cuenta de servicio, por lo que los usuarios no participan directamente.

Las cuentas de servicio emplean un flujo de OAuth2 que no requiere autorización humana y, en su lugar, usan un archivo de claves al que solo puede acceder tu app.

Usar cuentas de servicio proporciona dos beneficios clave:

  • La autorización para el acceso a la API de Google se realiza como un paso de configuración, lo que evita las complicaciones asociadas con otros flujos de OAuth2 que requieren interacciones del usuario.
  • El flujo de aserción de OAuth2 permite que tu aplicación suplante a otros usuarios si es necesario.

Requisitos previos

  • Un dominio de Google Workspace de tu propiedad, como mydomain.com o mybusiness.com
  • Un token de desarrollador de la API de Google Ads y, opcionalmente, una cuenta de prueba.
  • La biblioteca cliente del idioma que uses
  • Un proyecto de la Consola de APIs de Google que se haya configurado para la API de Google Ads
  • Si eres usuario de Google Ads con permisos en la cuenta de Google Ads a la que deseas acceder. Google Ads no admite el uso de cuentas de servicio sin suplantación de identidad.

Configuración del acceso a la cuenta de servicio

Debido a que la suplantación de usuarios se controla solo a nivel de dominio, el uso de cuentas de servicio y el flujo de aserción con Google OAuth2 requiere que tengas tu propio dominio registrado en Google Workspace. La app y sus usuarios pueden entonces suplantar la identidad de cualquier usuario del dominio.

  1. Para comenzar, crea una cuenta de servicio y credenciales.

    Descarga la clave de la cuenta de servicio en formato JSON y anota el ID de la cuenta de servicio.

  2. Comparte el ID de la cuenta de servicio y el alcance de la API de Google Ads (https://www.googleapis.com/auth/adwords) con el administrador de tu dominio.

    Solicita al administrador de dominio que delegue autoridad de todo el dominio a tu cuenta de servicio.

  3. Si eres el administrador del dominio, completa las instrucciones del Centro de ayuda.

Ahora puedes usar la cuenta de servicio para acceder a tu cuenta de Google Ads con el flujo de aserción de OAuth2.

Configuración de la biblioteca cliente

Selecciona tu lenguaje a continuación para obtener instrucciones sobre cómo configurar tu biblioteca cliente.

Preocupaciones de seguridad

Dado que la cuenta de servicio tiene control de delegación a nivel de dominio para tu dominio de Google Workspace, es importante proteger el archivo de claves que permite que una cuenta de servicio acceda a los servicios de Google para los que está autorizada. Esto es especialmente cierto, ya que esa cuenta de servicio puede usar la identidad de cualquier usuario en el dominio.

Otra buena práctica es permitir que las cuentas de servicio accedan solo al conjunto mínimo de APIs necesario. Esta es una medida preventiva para limitar la cantidad de datos a los que puede acceder un atacante si el archivo de claves de la cuenta de servicio está comprometido.