Search code examples
pythonerror-handlingspotifyspotipy

Spotipy Current user not working AttributeError: 'str' object has no attribute 'get_access_token'


Im trying to create a music bot with python for spotify but nothing works. Heres my Code:

    scope = 'user-read-private'
myClientId = "[ur id]"
mySecret = "[ur secret]"
myRedirect="http://google.de/"
myUsername="[ur name]"

token = spotipy.prompt_for_user_token(myUsername,scope, myClientId, mySecret, myRedirect)

sp = spotipy.Spotify(auth_manager=token)
sp.current_user()

Here is the full ERROR in console:

  File "C:\Users\a\Downloads\spotify2.py", line 18, in <module>
    sp.current_user()
  File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\spotipy\client.py", line 1173, in current_user
    return self.me()
  File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\spotipy\client.py", line 1167, in me
    return self._get("me/")
  File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\spotipy\client.py", line 297, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\spotipy\client.py", line 221, in _internal_call
    headers = self._auth_headers()
  File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\spotipy\client.py", line 212, in _auth_headers
    token = self.auth_manager.get_access_token(as_dict=False)
AttributeError: 'str' object has no attribute 'get_access_token'

Solution

  • As per documentation, to initialize a Spotipy object using the token you need to initialize it as such:

    sp = spotipy.Spotify(auth=token)
    

    or

    sp = spotipy.Spotify(token)
    

    instead of passing it as the auth_manager parameter.