Cómo crear una aplicación simple con Laravel que acceda a los datos relacionados con el usuario mediante la API de Spotify haciendo uso de Guzzle HTTP client.
Registro de la aplicacion en Spotify
- Accedemos al dashboard del portal de Spotify para desarrolladores y nos acreditamos con una cuenta de Spotify.
- Creamos una nueva app y guardamos las claves Client_Id y Client_Secret.
- En Edit Settings añadimos la dirección a la que queremos que nos redirijan tras loguear al usuario: http://spovel.loc:8085/profile/ (en mi caso).
Configuración de las Variables de Entorno
Creamos las variables de entorno agregando estas dos líneas al archivo .env :
Creamos el fichero config/spotify.php y le añadimos el siguiente código :
Controlador para interactuar con Spotify
Añadimos un constructor y los atributos que vamos a necesitar, donde $redirectUri será la dirección que especificamos desde el Dashboard de Spotify :
Añadimos los 3 métodos que vamos a utilizar :
login ( )
Nos redirecciona a la autorización de cuenta de Spotify para loguearnos, pasando como parámetros en la URL : el scope ( con los permisos correspondientes), nuestro id de cliente y la página a la que debe redirigirnos. En la respuesta obtenemos el parámetro code en la URL.
getToken ( )
A través de la función de PHP $_GET( ) accedemos al parámetro ‘code’ para intercambiarlo por un Token.
Aquí hacemos uso de Guzzle HTTP Client, el cual viene incluido en Laravel 8.
getUser ( )
Enviamos el Token al end-point de la API de Spotify encargado de devolvernos los datos del usuario y retornamos la Vista que nos muestra dichos datos.
Rutas Web
Vistas
Home
Vista que nos invita a loguearnos en Spotify :
Profile
Vista que recibe los datos del usuario y los muestra por pantalla :
El código completo se encuentra en el siguiente repositorio de GitHub.
Eduardo dice
Hola. No hay forma de obtener el bearer token sin el redirect?