Skip to main content

Spotify Web API — Cerca i metadades musicals

Què és i per a què serveix

La Spotify Web API permet cercar cançons i obtenir metadades musicals detallades. A LDP s'utilitza per:

  • Cerca multi-plataforma: Trobar cançons per títol/artista
  • Metadades tècniques: BPM, energy, danceability, valence (via Audio Features)
  • Links Spotify: Auto-generar links d'escolta a Spotify
  • ISRC: Identificador internacional de gravació (per cross-matching entre plataformes)
  • Artwork i previews: Imatges d'àlbum i previews de 30 segons

Crear compte

  1. Entra a Spotify for Developers
  2. Inicia sessió amb el teu compte Spotify (o crea'n un de gratuït)
  3. Ves al Dashboard

Crear aplicació

  1. Al Dashboard, clica Create App
  2. Configuració:
CampValor
App nameLine Dance Platform (o el que vulguis)
App descriptionQualsevol descripció
Redirect URIhttp://localhost:8080/callback (obligatori posar-ne un, però no s'usa)
APIs usedWeb API
  1. Clica Save
  2. A la pàgina de l'app, ves a Settings
  3. Copia Client ID i Client Secret

Variables d'entorn

Al fitxer .env:

SPOTIFY_CLIENT_ID=<el teu client id>
SPOTIFY_CLIENT_SECRET=<el teu client secret>

El provider s'activa automàticament quan ambdues variables tenen valor. Si estan buides, el sistema funciona sense Spotify (usa només iTunes + Deezer).

Com funciona l'autenticació

LDP usa el Client Credentials Flow (server-to-server, sense login d'usuari):

  1. El backend demana un token amb Client ID + Secret
  2. Spotify retorna un token vàlid 1 hora
  3. SpotifyMusicProvider renova el token automàticament quan expira

No cal cap interacció de l'usuari ni redirect URI funcional.

Verificació

  1. Arrenca el backend amb el perfil local
  2. Ves a la pàgina de cançons i clica Importa cançó
  3. Cerca una cançó → hauries de veure resultats de Spotify (a més d'iTunes i Deezer)
  4. Als logs del backend, busca SpotifyMusicProvider per confirmar que s'ha autenticat

Limitacions i quotes

RecursLímit
Rate limitVariable (~180 req/minut per a Client Credentials)
Audio FeaturesAPI deprecada per Spotify des de nov 2024 — pot deixar de funcionar
warning

Spotify va deprecar l'endpoint Audio Features (BPM, energy, danceability) al novembre 2024. Pot deixar de funcionar en qualsevol moment. LDP obté BPM també de Deezer com a fallback.

Resolució de problemes

Error 401 (Invalid client)

  • Verifica que SPOTIFY_CLIENT_ID i SPOTIFY_CLIENT_SECRET són correctes
  • Regenera el Client Secret al Dashboard de Spotify si cal

Error 429 (Too Many Requests)

  • Rate limited — l'script d'enriquiment massiu usa delays de 1.5-3s entre peticions
  • El header Retry-After indica quants segons esperar

Spotify no apareix als resultats de cerca

  • Verifica que ambdues variables tenen valor al .env
  • Comprova els logs: si les credencials són invàlides, el provider es desactiva silenciosament