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
- Entra a Spotify for Developers
- Inicia sessió amb el teu compte Spotify (o crea'n un de gratuït)
- Ves al Dashboard
Crear aplicació
- Al Dashboard, clica Create App
- Configuració:
| Camp | Valor |
|---|---|
| App name | Line Dance Platform (o el que vulguis) |
| App description | Qualsevol descripció |
| Redirect URI | http://localhost:8080/callback (obligatori posar-ne un, però no s'usa) |
| APIs used | Web API |
- Clica Save
- A la pàgina de l'app, ves a Settings
- 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):
- El backend demana un token amb Client ID + Secret
- Spotify retorna un token vàlid 1 hora
SpotifyMusicProviderrenova el token automàticament quan expira
No cal cap interacció de l'usuari ni redirect URI funcional.
Verificació
- Arrenca el backend amb el perfil
local - Ves a la pàgina de cançons i clica Importa cançó
- Cerca una cançó → hauries de veure resultats de Spotify (a més d'iTunes i Deezer)
- Als logs del backend, busca
SpotifyMusicProviderper confirmar que s'ha autenticat
Limitacions i quotes
| Recurs | Límit |
|---|---|
| Rate limit | Variable (~180 req/minut per a Client Credentials) |
| Audio Features | API 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_IDiSPOTIFY_CLIENT_SECRETsó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-Afterindica 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