我正在使用Spotipy Python库与Spotify Web API进行交互。用户身份验证的两个流程之一是Authorization Code Flow。我试图在终端输入我的用户名(包括下划线)运行示例中的代码。这是代码:
import sys
import spotipy
import spotipy.util as util
scope = 'user-library-read'
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
但它给了我以下追溯错误:
追踪(最近一次通话): 文件“”,第1行,in 在prompt_for_user_token中输入文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/util.py”,第56行 token_info = sp_oauth.get_cached_token() 在get_cached_token中输入文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/oauth2.py”,第135行 如果'scope'不在token_info中,或者不在self._is_scope_subset(self.scope,token_info ['scope']): 在_is_scope_subset中输入文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/oauth2.py”,第157行 haystack_scope = set(haystack_scope.split()) AttributeError:'NoneType'对象没有属性'split'
然后我尝试使用其他用户名的相同代码,没有下划线,它工作。所以问题与用下划线拆分字符串有关。有什么想法解决这个问题吗?