多个范围 - WebAPI Spotify (Spotipy)

Ale*_*ini 1 spotify spotipy

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

谢谢

scg*_*ugh 7

访问 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
Run Code Online (Sandbox Code Playgroud)

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

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