3

我正在尝试编写一个 Python 脚本来通过Spotipy应用程序创建一个 Spotify 播放列表。我已经在 Spotify 的开发中心成功创建了一个应用程序,并将必要的变量输入到 Spotipy 的示例中(见下文)。但是,脚本未正确授权。我尝试过运行和不运行服务器,但无济于事。Stack 上有类似的问题,但它们没有提供完整的解决方案。任何建议都会非常有帮助。

这是我通过命令提示符收到的消息:

用户身份验证需要与您的 Web 浏览器进行交互。输入凭据并授予授权后,您将被重定向到一个 url。粘贴您被定向到的 URL 以完成授权。

请在此处导航: https ://accounts.spotify.com/authorize?scope=user-library-read&redirect_uri=None&response_type=code&client_id=xxxxx

输入您被重定向到的 URL:

这是正在运行的脚本。它与 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
4

1 回答 1

0

该应用程序正在询问一个应该包含“代码”的 URL,然后该代码将用于与https://developer.spotify.com/web-api/authorization-guide/中的步骤 3 中提到的 access_token和 URL进行交换应该看起来像这样https://example.com/callback?code=NApCCg..BkWtQ&state=profile%2Factivity。我希望您正确输入凭据,否则您将永远无法获得代码以继续进行。

于 2017-10-17T18:20:16.250 回答