spotipy can only return fields documented on the Spotify web API https://developer.spotify.com/documentation/web-api/reference/
Check out this example Flask app
See https://spotipy.readthedocs.io/en/latest/#customized-token-caching
Error:
- You get
You cannot create a playlist for another user
- You get
You cannot remove tracks from a playlist you don't own
Solution:
- Verify that you are signed in with the correct account on https://spotify.com
- Remove your current token:
rm .cache-{userid}
- Request a new token by adding
show_dialog=True
tospotipy.Spotify(auth_manager=SpotifyOAuth(show_dialog=True))
- Check that
spotipy.me()
shows the correct user id
Error:
spotipy.exceptions.SpotifyException: http status: 401, code:-1 - https://api.spotify.com/v1/
Unauthorized.
Solution:
- You are likely missing a scope when requesting the endpoint, check https://developer.spotify.com/web-api/using-scopes/
Problem: you can see a track on the Spotify app but searching for it using the API doesn't find it.
Solution: by default search("abba")
works in the US market.
To search for in your current country, the country indicator
must be specified: search("abba", market="DE")
.
If you cannot open a browser, set open_browser=False
when instantiating SpotifyOAuth or SpotifyPKCE. You will be
prompted to open the authorization URI manually.
See the headless auth example.