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.

  • Jason NovingerM
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Hey, sorry we missed helping out!

    Did you get everything sorted? Mind adding a “[Solved]” to the beginning of your post title if so?

    • HammerheartOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yea I did, it wasn’t my intention when I made the post but I basically got the rubber duck experience. I’ve edited the title.

      • Jason NovingerM
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Rubber ducking is the best. Appreciate that, hopefully it helps start a trend.