Spotipy授权代码流 - 用户名具有下划线时出错

时间:2017-01-12 12:43:00

标签: python-3.x spotipy

我正在使用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'

然后我尝试使用其他用户名的相同代码,没有下划线,它工作。所以问题与用下划线拆分字符串有关。有什么想法解决这个问题吗?

0 个答案:

没有答案