When I looked up the RefreshingToken entry in the docs, I didn't find much about how it works. Right now, you can do something like this:
data = {
'access_token': auth_token,
'token_type': 'Bearer',
'scope': Scope(scopes.user_read_currently_playing),
'expires_in': expiration - int(time.time())
}
creds = Credentials(client_id, client_secret, redirect_uri)
token = RefreshingToken(Token(data), creds)
...
File "/home/glow/Downloads/spotify-music-videos/spotivids/api/web.py", line 80, in _refresh_metadata
metadata = self._spotify.playback_currently_playing()
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/client/player.py", line 58, in playback_currently_playing
json = self._get('me/player/currently-playing', market=market)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/client/base.py", line 128, in _get
return self._request('GET', url, payload=payload, params=params)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/client/base.py", line 122, in _request
request = self._build_request(method, url)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/client/base.py", line 75, in _build_request
'Authorization': f'Bearer {self.token}',
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/client/base.py", line 45, in token
return str(self._token)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/auth.py", line 43, in __str__
return self.access_token
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/util.py", line 39, in access_token
self._token = self.credentials.refresh(self._token)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/auth.py", line 243, in refresh
return self.request_refreshed_token(token.refresh_token)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/auth.py", line 222, in request_refreshed_token
refreshed = request_token(self._auth, payload)
File "/home/glow/.local/lib/python3.7/site-packages/spotipy/auth.py", line 93, in request_token
content['error_description']
spotipy.auth.OAuthError: 400 invalid_request: refresh_token must be supplied