I am trying to create a playlist with spotify and the spotipy library in python. However, I keep getting a “No token provided” error when making my API request. However, if I use the same token with a curl request, it works! Can someone please help. This is my code:
auth_manager = SpotifyOAuth(client_id=CLIENT,
client_secret=SECRET,
redirect_uri="http://example.com/",
scope=SCOPE,
username=spotify_display_name
)
token = auth_manager.get_access_token(
as_dict=False,
check_cache=True
)
sp = spotipy.Spotify(auth_manager=auth_manager,
auth=token
)
user_dict = sp.current_user()
user_id = user_dict["id"]
print(f"Welcome, {user_dict['display_name']}")
# SEARCH
# QUERY FORMAT: "track: track-name year: YYYY"
spotify_search_endpoint = "https://api.spotify.com/v1/search/"
test_query = "track:Hangin'+Tough year:1989"
search_parameters = {
"q": format_query(test_query),
"type": "track"
}
results = sp.search(q=search_parameters["q"])
print(results)
output:
{'tracks': {'href': 'https://api.spotify.com/v1/search?query=track%3AHangin%27%2BTough%2520year%3A1989&type=track&offset=0&limit=10', 'items': [], 'limit': 10, 'next': None, 'offset': 0, 'previous': None, 'total': 0}}
{
"error": {
"status": 401,
"message": "No token provided"
}
}
This is really frustrating! The authentication is working, otherwise the token wouldn’t have been valid for the curl request. I must be doing something wrong with spotipy.
Rubber ducking is the best. Appreciate that, hopefully it helps start a trend.