【发布时间】:2018-11-15 16:41:12
【问题描述】:
我的问题是: 是否可以使用 WebAPI Spotify(特别是 Spotipy)同时使用两个或多个范围? 例如使用范围 'user-modify-playback-state' 和 'user-library-read'
谢谢
【问题讨论】:
我的问题是: 是否可以使用 WebAPI Spotify(特别是 Spotipy)同时使用两个或多个范围? 例如使用范围 'user-modify-playback-state' 和 'user-library-read'
谢谢
【问题讨论】:
您可以在访问 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 个范围。
注意:如果您的用户使用不同的范围进行身份验证,那么您需要让他们重新验证您的应用,以便通过新的令牌/刷新令牌访问更多范围。
【讨论】: