我通过python setup.py install
克隆并安装了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: Bad Request
起初我使用Facebook连接的Spotify帐户并在出现提示时通过Facebook登录Spotify,所以我认为这可能是一个问题。然而,即使在创建新的仅限电子邮件的Spotify帐户并在此新的仅限电子邮件用户名上运行脚本后,我也得到了相同的结果。
我还尝试在我的Spotify开发者帐户中注册一个新应用,并在CLIENT_ID
中使用CLIENT_SECRET
,REDIRECT_URI
和examples/util.py
,但这并没有好像什么都做。似乎不太可能修改examples/util.py
是必要的。
认为这可能是一个浏览器问题我也重置了我的浏览器(Chrome),之后我没有尝试将Safari切换到默认浏览器,但也没有做任何事情。
这两个脚本都依赖于examples/util.py
中定义的prompt_for_user_token()
,而且似乎出现了问题。
我做错了什么?我错过了一些痛苦明显的东西吗?提前谢谢。
答案 0 :(得分:3)
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环境变量。您可以通过在My Applications
的Spotify Developer Site部分创建应用来获取这些值在Unix中,您可以在命令行中设置环境变量,如下所示:
export CLIENT_ID={yourclient}
export CLIENT_SECRET={yoursecret}
export REDIRECT_URI={your redirect uri}
然后,您需要复制并粘贴重定向到浏览器的完整URL以继续。
答案 1 :(得分:1)
我遇到了类似的问题,至少找到了解决方案。见here。我通过将client_id
,client_secret
,redirect_uri
作为util.prompt_for_user_token
中的agruments传递来实现此目的。我不得不复制并粘贴整个 URL,包括代码。我根本没有弄util.py
。