
Cómo crear un token de acceso para la API de la Galaxy Store usando Python
A través de la Galaxy Store, los usuarios de dispositivos Samsung Galaxy pueden descargar aplicaciones, juegos, temas y esferas para su reloj. Para ayudaros a la hora de publicar estos contenidos, Samsung ha creado el Galaxy Store Seller Portal, una herramienta que ofrece multitud de funciones para distribuir el contenido en Galaxy Store más fácilmente. Sin embargo, sus flujos de trabajo pueden necesitar operaciones más frecuentes en la distribución de aplicaciones. Gracias a un sistema automatizado, tu sistema de producción y distribución de apps puede ser más eficiente. Para lograrlo, Samsung ha introducido la Galaxy Store Developer API.
La Galaxy Store Developer API es un conjunto de APIs REST que te permite utilizar las funciones clave del Galaxy Store Seller Portal sin tener que acceder a la interfaz de usuario. Puedes realizar todas las tareas relacionadas con la publicación de aplicaciones y gestionar los artículos de la aplicación utilizando estas API. También te permiten comprobar las estadísticas de la app y personalizar los datos como quieras.
La Galaxy Store Developer API ofrece los dos tipos de API para automatizar las tareas:
- La API de publicación de contenido te permitirá consultar, modificar y publicar los cambios en el estado de tu aplicación y utilizar algunas de las funciones que ofrece el Seller Portal.
- La API GSS (Galaxy Store Statistics) te permite obtener las estadísticas de tus aplicaciones registradas en Galaxy Store.
Primeros pasos
Si todavía no tienes una cuenta de vendedor en Galaxy Store accede a la guía para usuarios del Galaxy Store Seller Portal y crea una cuenta de vendedor.
La API para desarrolladores de Galaxy Store utiliza el método de autenticación de servidor a servidor OAuth 2.0. Por lo tanto, debes crear un token de acceso para llamar a cada API. Crear el token de acceso es el primer paso para automatizar la publicación de tu aplicación.
Dado que se trata de APIs REST, puedes utilizar cualquier método disponible para comunicarte con ellas. Te recomendamos que uses CURL para probar estas APIs, puedes encontrar los comandos CURL para cada API en sus respectivas guías. Hoy en día muchos desarrolladores utilizan Python para comunicarse con las APIs del servidor, por lo que hoy veremos cómo implementar la API para desarrolladores de Galaxy Store utilizando este lenguaje.
Ten en cuenta que el token de acceso nunca expira, pero puede ser cancelado. Hay dos requisitos previos para crear un token de acceso. En primer lugar, tienes que crear una cuenta de servicio y luego, utilizando esta cuenta de servicio, tienes que crear un Token Web JSON (JWT).
Crear una cuenta de servicio
El ID de la cuenta de servicio es necesario en cada llamada a la API, por lo que debes crearlo primero. Recuerda que necesitarás la cuenta de servicio para crear el JWT. Sigue los siguientes pasos para obtener el ID de la cuenta de servicio en el Galaxy Store Seller Portal.
- Inicia sesión en el Galaxy Store Seller Portal.
- Haz clic en “Assistance > API Service”
- Después pincha en “Create Service Account”
- En la ventana “Create Service Account” selecciona las API que desees utilizar desde esta cuenta de servicio y haz clic en “Create”. Como hemos mencionado antes existen dos tipos de API para desarrolladores de Galaxy Store, Publishing and Item y GSS. Puedes seleccionar ambas si los necesitas.
- En la ventana “Service Account Created”, haz clic en “Download Key” para guardar la clave privada en un archivo. Esta clave privada es necesaria para crear un JWT.
- Después de crear una cuenta, puedes copiar el ID de la cuenta en el campo “Service Account ID”
Crear un Token Web JSON
JWT es un estándar abierto utilizado para compartir información de seguridad entre dos partes: el cliente y el servidor. El JWT se utiliza comúnmente en la autorización, y consta de tres partes: encabezado, carga útil y firma. Puedes crear un JWT utilizando un sitio que genere el token proporcionando la información requerida. En este artículo podrás aprender a crear un JWT usando Python.
Instalación
Necesitamos instalar PyJWT, una librería de Python que permite codificar y decodificar JSON Web Tokens. Para más información, consulta la documentación oficial. Para utilizar la API para desarrolladores de Galaxy Store, se requiere el algoritmo de codificación RS256, por lo que necesitas instalar también la biblioteca de criptografía. Esto puede ser instalado explícitamente, o puedes instalar PyJWT con el paquete de criptografía como una dependencia.

Crear un JWT en Python
En primer lugar, importa los módulos necesarios en un script de Python.

Necesitaremos proporcionar los valores de los siguientes cuatro atributos para crear un JWT:
- iss: El ID de la cuenta de servicio creada en el Portal del Vendedor.
- scopes: La lista de los ID de alcance de la cuenta de servicio. Si has creado el ID de cuenta de servicio para una API, introduce sólo el ID de ámbito de esa API. De lo contrario, incluye los ID de ambos ámbitos.
- iat: La hora actual o la hora de emisión, utilizando el formato de hora Unix.
- exp: La hora de caducidad del JWT, que no debe superar los 20 minutos desde la hora de emisión.
Vamos a crear un diccionario para contener estos datos.

El JWT debe ser firmado por la clave privada que hemos creado en la cuenta del servicio. Debemos utilizar el algoritmo de codificación RS256 para firmar el token. Para crear y firmar el JWT, llamamos al método encode() y pasamos la carga útil, la clave privada y el nombre del algoritmo.

Ahora hemos creado el JWT con éxito. El JWT creado expirará a los 20 minutos. A continuación, podemos crear un token de acceso utilizando este JWT.
Solicitar un token de acceso
Por último, podemos solicitar un token de acceso utilizando la API accessToken(). Primero, defina la URL de la API accessToken().

Las siguientes cabeceras son necesarias para solicitar un token de acceso.

Ahora vamos a crear un diccionario utilizando la sintaxis {key: value}. Aquí "key" es el nombre del atributo y "value" es el contenido de la cabecera. Todas las cabeceras no distinguen entre mayúsculas y minúsculas.

Envía la solicitud de correo y guarda la respuesta como un objeto de respuesta.

Ahora hemos recibido con éxito el token de acceso. Este token de acceso debe incluirse en la cabecera de autorización de cada llamada a la API para desarrolladores de la tienda Galaxy. Si quieres validar o revocar tu token de acceso, consulta la Guía para validar un token de acceso.
El token de acceso es un requisito previo para llamar a cualquier API para desarrolladores de la tienda Galaxy. Necesitas almacenar este token de acceso en un lugar seguro para que no pueda ser expuesto a otros.
Samsung Dev Spain es la comunidad oficial de Samsung para desarrolladores españoles. Si te das de alta, puedes conseguir entrar en nuestro programa de préstamos -y conseguir dispositivos para desarrollar apps para nuestro ecosistema-, acceder a material gratuito como la Guía de optimización de apps para foldables, participar en promociones como dispositivos por apps o acudir gratis a eventos formativos como Samsung Dev Day o disfrutar de ventajas exclusivas en Samsung PLUS.