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 su lugar, usa un archivo de claves al que solo puede acceder tu aplicación. En esta guía, se explica cómo acceder a 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 estás escribiendo una aplicación de terceros que necesita acceso a las cuentas de Merchant Center de tus clientes, consulta la guía Autorizar solicitudes.
Requisitos previos
- Una cuenta de Merchant Center
Pasos para usar una cuenta de servicio y acceder a 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 clave privada *.json:
- Ve a la Consola de API de Google.
- Selecciona un proyecto en el menú desplegable que se encuentra en la parte superior de la página. Si aún no tienes uno, haz clic en PROYECTO NUEVO para crear uno.
- Si aún no habilitaste Content API for Shopping para este proyecto, búscala en la lista de APIs de Google y habilítala.
- En la barra lateral izquierda, selecciona Credenciales. Es posible que debas hacer clic en la flecha que apunta a la izquierda en la parte superior izquierda para ver esto.
- 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 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 Content API, ya que el acceso a los métodos de Content API se determina por el rol asociado con el ID de cuenta de servicio en Merchant Center. Si no sabes qué elegir, selecciona Project > Viewer.
- Se te dirigirá a la página Cuentas de servicio, donde podrás acceder a tu 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 CREATE para descargar la clave privada en tu computadora.
- Agrega la nueva cuenta de servicio 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.
- Ve a tu cuenta de Merchant Center.
- Ve a Acceso a la cuenta en la configuración de tu 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 antes, ve a la página de administración Cuentas de servicio y selecciona el proyecto que creaste.
- Especifica las preferencias de Acceso de usuarios 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 en la lista con el rol de usuario elegido.
- Repite el proceso para todas las demás cuentas de servicio que quieras agregar.
- Ahora puedes acceder a tu cuenta de Merchant Center con la cuenta de servicio, ya sea mediante el flujo de Credenciales predeterminadas de la aplicación de Google o directamente con el flujo de la cuenta de servicio. En los ejemplos de Content API for Shopping, se muestra cómo usar ambos flujos para las credenciales de la cuenta de servicio en cada lenguaje de programación compatible. Consulta las muestras de código para probar tu cuenta de servicio nueva y aprender qué cambios deberás realizar para usar 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 OAuth 2.0 de Google los emite. Cuando vence un token de acceso, la aplicación debe usar la biblioteca cliente para recuperar otro token de acceso.