繁体   English   中英

Spotipy没有通过Oauth验证?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM