Closed
Description
Implement a Spotify provider based on the Spotify Web API.
Implementation notes:
- General API access should be very similar to the Tidal provider, including the client credentials auth flow.
- Individual regions don't seem to be queried separately. Instead the API when queried without a "market" set returns a list of all markets the release is available on.
- Primary type (Support (more) release group types #15) could be supported, at least for single and compilation types.
- Fetching the full track list for an album can involve multiple calls, the initial result from the album request only contains the first page of tracks.
- ISRCs are available, but seem to require a separate call, as the track info being returned as part of the album exclude this data.
- Pad GTIN with zeros if no results are found (example). a-tisket already does this. See also Roadmap #6
- Spotify has a concept of Track Relinking, where tracks not being available in a specific market get swapped out with a similar track that is available. Not sure about the implications, we'll need some examples for this. Might be that if the data gets queried without region that the relinking is not indicated. If this can be detected it would at least be good to show a warning.
- Copyright information gets returned with separate entries for © and ℗. Because this is clearly separated the entries not always contain the corresponding symbol. If we just import the text the entries cannot be distinguished. The provider should add the symbols based on type if not present in the given text.
- Similar to Deezer label info is a single text that sometimes contains multiple labels separated by
/
.
Related to #5