[英]Spotipy not verifying via Oauth?
我正在尝试编写一个Python脚本,通过Spotipy应用程序创建Spotify播放列表。 我已成功在Spotify的开发中心创建了一个应用程序,并将必要的变量输入到Spotipy的示例中(见下文)。 但是,脚本未正确授权。 我已经尝试过运行和不运行服务器,但无济于事。 Stack上也有类似的问题,但它们不提供完整的解决方案。 任何建议都会非常有帮助。
这是我通过命令提示符收到的消息:
用户身份验证需要与Web浏览器进行交互。 输入凭据并授予权限后,您将被重定向到网址。 粘贴您指向的网址以完成授权。
请在此处导航: https : //accounts.spotify.com/authorize?scope = user-library-read&redirect_uri = Non&response_type = code&client_id = xxxx
输入您重定向到的网址:
这是正在运行的脚本。 它与Spotipy提供的示例几乎完全相同,为我的Windows机器设置os变量进行了更改。
import pprint
import sys
import os
import subprocess
import spotipy
import spotipy.util as util
import requests
clientId = 'client id here'
clientSecret = 'client secret here'
clientRedirect = 'http://localhost:8888/callback'
username = 'username here'
scope='user-library-read'
os.environ["SPOTIPY_CLIENT_ID"] = clientId
os.environ["SPOTIPY_CLIENT_SECRET"] = clientSecret
os.environ["POTIPY_REDIRECT_URI"] = clientRedirect
token = util.prompt_for_user_token(username, scope)
if token:
sp = spotipy.Spotify(auth=token)
results = sp.current_user_saved_tracks()
for item in results['items']:
track = item['track']
print track['name'] + ' - ' + track['artists'][0]['name']
else:
print "Can't get token for", username
应用程序要求一个应该包含“代码”的URL,然后将其用于与https://developer.spotify.com/web-api/authorization-guide/中步骤3中提到的access_token交换以及URL应该看起来像这样https://example.com/callback?code=NApCCg..BkWtQ&state=profile%2Factivity 。 我希望您正确输入您的凭据,否则您将永远无法获得进一步的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.