20 lines
603 B
Markdown
20 lines
603 B
Markdown
# Spotify Integration
|
|
|
|
## Credentials
|
|
- Prefer configuring via `/admin/settings` (stored in DB).
|
|
- Fallback to environment variables `SPOTIFY_CLIENT_ID` and `SPOTIFY_CLIENT_SECRET`.
|
|
|
|
## API client
|
|
- `src/Service/SpotifyClient.php`
|
|
- Client Credentials token fetch (cached)
|
|
- `searchAlbums(q, limit)`
|
|
- `getAlbum(id)` and `getAlbums([ids])`
|
|
- Centralized request pipeline: throttling, 429 backoff, response caching
|
|
|
|
## Advanced search
|
|
- The search page builds Spotify fielded queries:
|
|
- `album:"..."`, `artist:"..."`, `year:YYYY` or `year:YYYY-YYYY`
|
|
- Optional free-text added to the query
|
|
|
|
|