Spotipy(Spotify的Web API Python包装器)示例失败
作者:互联网
我通过python setup.py安装克隆并安装了Paul Lamere的Python wrapper for the Spotify Web API,但我似乎无法正确运行一些示例.
具体来说,当我尝试运行user_playlists_contents.py
或user_starred_playlist.py
时,会启动浏览器并将其定向到Spotify登录页面.登录后,我在浏览器中收到一个Spotify错误,该错误只说:“哎呀!出了问题.”该脚本要求我重定向到的URL,但是同时输入登录页面的URL和错误页面的URL(显然)会在终端内触发错误:spotipy.oauth2.SpotifyOauthError:错误请求
起初我使用Facebook连接的Spotify帐户,并在出现提示时通过Facebook登录Spotify,所以我认为这可能是一个问题.然而,即使在创建新的仅限电子邮件的Spotify帐户并在此新的仅限电子邮件用户名上运行脚本后,我也获得了相同的结果.
我还尝试在我的Spotify开发人员帐户中注册一个新的应用程序,并在examples / util.py中使用其CLIENT_ID,CLIENT_SECRET和REDIRECT_URI,但这似乎没有做任何事情.似乎不太可能修改examples / util.py是必要的.
认为这可能是一个浏览器问题我也重置了我的浏览器(Chrome),之后我没有尝试将Safari切换到默认浏览器,但也没有做任何事情.
这两个脚本都依赖于examples/util.py
中定义的prompt_for_user_token(),而且似乎是出错的地方.
我究竟做错了什么?我错过了一些痛苦明显的东西吗?提前致谢.
解决方法:
prompt_for_user_token方法如下所示:
def prompt_for_user_token(username, scope=None):
''' prompts the user to login if necessary and returns
the user token suitable for use with the spotipy.Spotify
constructor
'''
client_id = os.getenv('CLIENT_ID', 'YOUR_CLIENT_ID')
client_secret = os.getenv('CLIENT_SECRET', 'YOUR_CLIENT_SECRET')
redirect_uri = os.getenv('REDIRECT_URI', 'YOUR_REDIRECT_URI')
.
.
这要求您在执行示例之前设置CLIENT_ID,CLIENT_SECRET和REDIRECT_URI环境变量.您可以通过在Spotify Developer Site的My Applications部分创建应用来获得这些值
在Unix中,您可以在命令行中设置环境变量,如下所示:
export CLIENT_ID={yourclient}
export CLIENT_SECRET={yoursecret}
export REDIRECT_URI={your redirect uri}
然后,您需要复制并粘贴您在浏览器上重定向到的完整URL以继续.
标签:python,oauth-2-0,spotify,spotipy 来源: https://codeday.me/bug/20190624/1278245.html