我想知道如何验证用户是否正确地输入了spotify开发人员配置文件信息。我有一个文件,credentials.py,需要3个常量才能获得spotify API令牌。在main.py中,我使用这样的常量。
def authenticate_user():
if not credentials.SPOTIPY_CLIENT_SECRET or not credentials.SPOTIPY_CLIENT_ID:
raise RuntimeError("Spotify credentials have not been set! Check credentials.py")
os.environ["SPOTIPY_CLIENT_ID"] = credentials.SPOTIPY_CLIENT_ID
os.environ["SPOTIPY_CLIENT_SECRET"] = credentials.SPOTIPY_CLIENT_SECRET
os.environ["SPOTIPY_REDIRECT_URI"] = credentials.SPOTIPY_REDIRECT_URI
sp = spotipy.Spotify(auth_manager=spotipy.SpotifyOAuth())
return sp结果变量sp似乎没有任何方法来验证它是否已被成功验证。尝试使用任何方法时,都会将您发送到带有相应spotify端点的网页,显示请求失败。退出页面时,不会引发错误,程序会挂起。如何对用于使用spotify服务器进行身份验证的无效信息抛出错误?
发布于 2022-04-19 20:44:18
您可以在验证时检查upon是否返回布尔值,只需创建如下所示的if语句:
If (sp == True):
Print('credentials valid')发布于 2022-04-19 20:48:35
基于Spotify的docs 这里
您应该得到一个Spotify.oauth2.SpotifyOauthError,然后您可以尝试和排除代码。
你可以这样做:
try:
sp = spotipy.Spotify(auth_manager=spotipy.SpotifyOAuth())
return sp
except SpotifyOauthError as e:
raise RuntimeError(f"Spotify credentials didn't work, error={e}")只是不要忘记从Spotify.oauth2.SpotifyOauthError导入异常
https://stackoverflow.com/questions/71931048
复制相似问题