我在用spotipy从中检索一些曲目Spotify using python。我收到令牌过期错误,因此我想refresh我的令牌。但我不明白如何从spotipy 获取刷新令牌。
是否有另一种方法来刷新令牌或重新创建令牌?
谢谢。
Spotipy 使用访问令牌的大致流程是:
- 从缓存中获取令牌(实际上不仅仅是访问令牌,还包括刷新和过期日期信息)
- 如果令牌在缓存中并且已过期,请刷新它
- 如果令牌不在缓存中,则prompt_for_user_token() https://github.com/plamere/spotipy/blob/master/spotipy/util.py将帮助您在浏览器中完成 OAuth 流程,然后将其保存到缓存中。
因此,如果您向 Spotipy 询问您的访问令牌(例如使用prompt_for_user_token()
或者通过设置SpotifyOAuth
直接对象)并且它之前已经缓存了访问令牌/刷新令牌。缓存位置应该是.cache-<username>
默认情况下位于工作目录中,因此您可以在那里手动访问令牌。
如果您提供 SpotipySpotify()
客户与auth
param 用于授权,它将无法自动刷新访问令牌,我认为它会在大约一个小时后过期。你可以给它提供一个client_credentials_manager
相反,它将向其请求访问令牌。实施的唯一要求client_credentials_manager
目的是它提供了一个get_access_token()
方法不带参数并返回访问令牌。
不久前我在叉子上尝试过这个,这是对SpotifyOAuth object https://github.com/rachel-sharp/spotipy/commit/5b64a0ce57eadb4769ed0aee96724e3970f4724a让它充当client_credentials_manager
and 这相当于prompt_for_user_token() https://github.com/rachel-sharp/spotipy/commit/b051e2a164815dd5c966382d5f1b0ce05fafd36a返回SpotifyOAuth
您可以传递给 Spotipy 的对象Spotify()
客户端作为凭证管理器参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)