我正在使用 spotipy 从 Spotify 中使用 python 检索一些曲目。因此,我收到令牌到期错误,我想刷新我的令牌。但我不明白如何从spotipy获取刷新令牌。
是否有另一种刷新令牌或重新创建令牌的方法?
谢谢。
答案 0 :(得分:2)
Spotipy使用访问令牌的粗略过程是:
prompt_for_user_token()
将处理您在浏览器中完成OAuth流程,然后将其保存到缓存中。因此,如果您向Spotipy请求访问令牌(例如使用prompt_for_user_token()
或直接设置SpotifyOAuth
对象),它将自动刷新,并且它先前已缓存了访问令牌/刷新令牌。默认情况下,缓存位置应该在工作目录中.cache-<username>
,因此您可以在那里手动访问令牌。
如果您向Spotipy Spotify()
客户端提供auth
param进行授权,则无法自动刷新访问令牌,我认为它将在大约一小时后过期。您可以提供client_credentials_manager
,它将从中请求访问令牌。实现client_credentials_manager
对象的唯一要求是它提供get_access_token()
方法,该方法不接受参数并返回访问令牌。
我在前一段时间用叉子here's the modification to the SpotifyOAuth
object尝试了这一点,以允许它充当client_credentials_manager
和here's the equivalent of prompt_for_user_token()
,返回您可以传递的SpotifyOAuth
对象以Spotipy Spotify()
客户端作为凭证管理员参数。