Cuentas de servicio

Las cuentas de servicio son Cuentas de Google especiales que las aplicaciones pueden usar para acceder a las APIs de Google de manera programática a través de OAuth 2.0. Una cuenta de servicio usa un flujo de OAuth 2.0 que no requiere autorización humana. En cambio, usa un archivo de claves al que solo puede acceder tu aplicación. En esta guía, se explica cómo acceder a la Content API for Shopping con cuentas de servicio.

Nota: Las aplicaciones que usan cuentas de servicio para la autenticación solo pueden acceder a tu propia cuenta de Merchant Center. Si escribes una aplicación de terceros que necesita acceder a las cuentas de Merchant Center de tus clientes, consulta la guía Autoriza solicitudes en su lugar.

Requisitos previos

Pasos para usar una cuenta de servicio para acceder a la Content API for Shopping

  1. Genera credenciales de cuenta de servicio o accede a las credenciales públicas que ya generaste. Deberás crear un ID de cliente de OAuth 2.0 y obtener un archivo de clave privada *.json:
    1. Ve a la Consola de API de Google.
    2. Selecciona un proyecto en el menú desplegable de la parte superior de la página. Si aún no tienes uno, haz clic en PROYECTO NUEVO para crear uno.
    3. Si aún no habilitaste la Content API for Shopping para este proyecto, búscalo en la lista de APIs de Google y habilítalo.
    4. Haz clic en el menú de navegación (☰) en la esquina superior izquierda, selecciona APIs y servicios y, luego, Credenciales.
    5. Para configurar una cuenta de servicio, selecciona CREAR CREDENCIALES y, luego, Cuenta de servicio.
    6. Asigna un nombre a la nueva cuenta de servicio. Este también sirve como nombre de usuario predeterminado para el ID de la cuenta de servicio. Registra el ID de la cuenta de servicio, incluida la parte después del carácter "@", para usarlo más adelante. Haz clic en CREAR, sigue los pasos opcionales para otorgar acceso al proyecto y a los usuarios, y haz clic en LISTO.

      La elección del rol para la cuenta de servicio no tendrá ningún efecto en las llamadas que se pueden realizar a la Content API, ya que el acceso a los métodos de la Content API se determina por el rol asociado con el ID de la cuenta de servicio en Merchant Center. Si no estás seguro de qué elegir, selecciona Proyecto > Visualizador.

    7. Se te dirigirá a la página Cuentas de servicio, donde podrás acceder a tu nueva cuenta de servicio.
    8. Para obtener una clave privada JSON, haz clic en la cuenta de servicio y, luego, en la pestaña CLAVES. Haz clic en AGREGAR CLAVE > Crear clave nueva y, luego, selecciona JSON como el tipo de clave. Haz clic en CREAR para descargar la clave privada en tu computadora.
  2. Agrega la nueva cuenta de servicio como usuario a tu cuenta de Merchant Center. Si eres desarrollador externo, deberás pedirle a tu cliente que realice este paso por ti.
    1. Ve a tu cuenta de Merchant Center.
    2. Ve a Acceso a la cuenta en la configuración de tu cuenta de Merchant Center.
    3. Haz clic en + Agregar usuario y usa el ID de cuenta de servicio como la dirección de correo electrónico del usuario nuevo.

      Si no tomaste nota del ID de la cuenta de servicio antes, ve a la página de administración de Cuentas de servicio y selecciona el proyecto que creaste.

    4. Especifica las preferencias de Acceso del usuario y Notificaciones por correo electrónico para la cuenta de servicio. Ten en cuenta que el uso del servicio Accounts requiere acceso de administrador.
    5. Haz clic en Agregar usuario para guardar las preferencias y volver a la lista de usuarios. El ID de la cuenta de servicio debe aparecer en la lista con el rol de usuario elegido.
    6. Repite el proceso para todas las demás cuentas de servicio que quieras agregar.
  3. Ahora puedes acceder a tu cuenta de Merchant Center con la cuenta de servicio usando el flujo de Credenciales predeterminadas de la aplicación de Google o el flujo de la cuenta de servicio directamente. En los ejemplos de la Content API for Shopping Samples, se muestra cómo usar ambos flujos para las credenciales de la cuenta de servicio en cada lenguaje de programación compatible. Consulta los ejemplos de código para probar tu nueva cuenta de servicio y conocer los cambios que deberás usar en tu propio código.

Preguntas frecuentes

¿Puedo acceder a la IU de Merchant Center con mi cuenta de servicio?
No, las cuentas de servicio no son cuentas de Google normales y no pueden acceder a la IU de Merchant Center.
¿Con qué frecuencia debo actualizar los tokens de acceso de la cuenta de servicio?
Los tokens de acceso vencen una hora después de que los emite el servidor de autorización de Google OAuth 2.0. Cuando vence un token de acceso, la aplicación debe usar la biblioteca cliente para obtener otro.