多个范围-WebAPI Spotify(Spotipy)

时间:2018-11-15 16:41:12

标签: spotify spotipy

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

谢谢

1 个答案:

答案 0 :(得分:0)

访问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范围。

注意:如果您的用户使用不同的范围进行了身份验证,则您将需要让他们重新验证您的应用程序,以便通过新的令牌/刷新令牌来访问其他范围。