Las cuentas de servicio son Cuentas de Google especiales que las aplicaciones pueden usar para acceder a las API 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 de una persona. En su lugar, usa un archivo de clave 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 acceso a las cuentas de Merchant Center de tus clientes, consulta la guía Autoriza solicitudes.
Requisitos previos
- Una cuenta de Merchant Center
Pasos para usar una cuenta de servicio y acceder a la Content API for Shopping
- 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 claves privadas *.json:
- Ve a la Consola de API de Google.
- 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 crearlo.
- Si aún no habilitaste Content API for Shopping para este proyecto, búscalo en la lista de las API de Google y habilítalo.
- En la barra lateral izquierda, selecciona Credenciales. Es posible que deba hacer clic en la flecha que apunta hacia la izquierda en la parte superior izquierda para verla.
- Para configurar una cuenta de servicio, selecciona CREAR CREDENCIALES y, luego, Cuenta de servicio.
- Asigna un nombre a la cuenta de servicio nueva. Esto también sirve como el 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 usarla 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 de una función para la cuenta de servicio no tendrá ningún efecto en las llamadas que se pueden realizar a la API de contenido, ya que el acceso a los métodos de la API de contenido está determinado por la función asociada con el ID de la cuenta de servicio en Merchant Center. Si no estás seguro de qué elegir, simplemente selecciona Proyecto > Visualizador.
- Se te redireccionará a la página Cuentas de servicio, en la que se puede acceder a la cuenta de servicio nueva.
- 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.
- Agrega la cuenta de servicio nueva como usuario a tu cuenta de Merchant Center. Si eres un desarrollador externo, deberás pedirle a tu cliente que realice este paso por ti.
- Vaya a su cuenta de Merchant Center.
- Vaya a Acceso a la cuenta en la configuración de su cuenta de Merchant Center.
- Haz clic en + Agregar usuario y usa el ID de la 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, ve a la página de administración de cuentas de servicio y selecciona el proyecto que creaste.
- Especifica las preferencias de Acceso de 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. - 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 con la función de usuario elegida.
- Repite el proceso para todas las demás cuentas de servicio que desees agregar.
- Ahora puedes acceder a tu cuenta de Merchant Center mediante la cuenta de servicio mediante el flujo de credenciales predeterminadas de la aplicación de Google o mediante el flujo de la cuenta de servicio directamente. Las muestras de la Content API para Shopping muestran cómo usar ambos flujos para las credenciales de cuenta de servicio en cada lenguaje de programación compatible. Consulta las muestras de código para probar tu cuenta de servicio nueva y conocer qué cambios necesitarás para usar las cuentas de servicio 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 el servidor de autorización de Google OAuth 2.0 los emite. Cuando un token de acceso caduca, la aplicación debe usar la biblioteca cliente para recuperar otro token de acceso.