编程语言
首页 > 编程语言> > python – Spotipy试图用oauth验证

python – Spotipy试图用oauth验证

作者:互联网

我一直试图通过spotipy验证制作播放列表等.

import spotipy
import spotipy.util as util

class buildPlayList():
    def __init__(self,name):
        scope = 'playlist-modify-public'
        self.username=name
        token = util.prompt_for_user_token(self.username, scope,client_id='', client_secret='',redirect_uri='http://example.com/callback/')
        self.sp = spotipy.Spotify(auth=token)
        print self.sp.current_user()

    def make_and_build(self):
        pass
x=buildPlayList("myname")

我运行它然后我得到这个:

 User authentication requires interaction with your
 web browser. Once you enter your credentials and
 give authorization, you will be redirected to
 a url.  Paste that url you were directed to to
 complete the authorization.

我转到URL,这是一个错误,我把它发回到命令行,它出错了.我不知道为什么这个库会这样做,所有其他人通常都会使用用户名,密码,客户端ID和客户端密码.由于某种原因,这个让你走得更远.一些帮助将不胜感激.我正在使用所有正确的信息.我不确定这个重定向网址是什么,也许这会导致问题?

解决方法:

按照此link获取您的客户端ID,秘密和回调uri.然后确保在prompt_for_user_token调用中正确设置这些参数

This one makes you go an extra step for some reason

额外步骤的原因是您使用url获得的响应包括代码和状态变量,而这些变量又用于获取访问令牌.然后,您最终将Spotify Web API与这些令牌一起使用.如果你查看official authorization guide,你会更好地理解这个故事

标签:python,spotify,spotipy
来源: https://codeday.me/bug/20190711/1433425.html