• Saltar a la navegación principal
  • Saltar al contenido principal

JAVIER GUTIÉRREZ

Desarrollador web

  • Newsletter
  • Blog
  • Acerca de mí

Usar la Api de Spotify con Laravel

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 :

Plain Text
.env

Creamos el fichero config/spotify.php y le añadimos el siguiente código :

PHP
config/spotify.php

Controlador para interactuar con Spotify

Shell

Añadimos un constructor y los atributos que vamos a necesitar, donde $redirectUri será la dirección que especificamos desde el Dashboard de Spotify :

PHP
app/Http/Controllers/SpotifyController.php

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.

PHP
app/Http/Controllers/SpotifyController.php

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.

PHP
app/Http/Controllers/SpotifyController.php

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.

PHP
app/Http/Controllers/SpotifyController.php

Rutas Web

PHP
routes/web.php

Vistas

Home

Vista que nos invita a loguearnos en Spotify :

HTML
resources/views/home.blade.php

Profile

Vista que recibe los datos del usuario y los muestra por pantalla :

HTML
resources/views/profile.blade.php

El código completo se encuentra en el siguiente repositorio de GitHub.

Archivado en: Laravel

Interacciones con los lectores

Comentarios

  1. Eduardo dice

    24/10/2022 en 20:40

    Hola. No hay forma de obtener el bearer token sin el redirect?

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Copyright © 2023 · Genesis Sample on Genesis Framework · WordPress · Iniciar sesión