首页 > 解决方案 > 多个范围 - WebAPI Spotify (Spotipy)

问题描述

我的问题是:是否可以使用 WebAPI Spotify(特别是 Spotipy)同时使用两个或多个范围?例如使用范围'user-modify-playback-state'和'user-library-read'

谢谢

标签: spotifyspotipy

解决方案


访问 Spotify API 时可以使用多个范围。我没有直接使用过,Spotipy但如果它与我使用过的软件包相似,您可以执行以下操作(例如):

import sys
import spotipy
import spotipy.util as util

scope = 'user-library-read user-modify-playback-state'

if len(sys.argv) > 1:
    username = sys.argv[1]
else:
    print "Usage: %s username" % (sys.argv[0],)
    sys.exit()

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

该示例取自https://spotipy.readthedocs.io/en/latest/#authorized-requests并适用于 >1 范围。

注意:如果您的用户在不同的范围内进行了身份验证,那么您需要让他们重新验证您的应用程序,以便通过新的令牌/刷新令牌访问进一步的范围。


推荐阅读