Spotipy 尝试使用 oauth 进行验证
Posted
技术标签:
【中文标题】Spotipy 尝试使用 oauth 进行验证【英文标题】:Spotipy trying to verify with oauth 【发布时间】:2015-12-25 09:26:10 【问题描述】:我一直在尝试使用 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 和客户端密码。由于某种原因,这让你多走了一步。一些帮助将不胜感激。我正在使用所有正确的信息。我不确定这个重定向 url 是什么,也许是导致问题的原因?
【问题讨论】:
【参考方案1】:关注link 获取您的客户端 ID、秘密和回调 uri。然后确保在prompt_for_user_token
调用中正确设置这些参数
由于某种原因,这让你多走了一步
额外步骤的原因是您通过 url 获得的响应包括代码和状态变量,这些变量又用于获取访问令牌。然后,您最终将 Spotify Web API 与这些令牌一起使用。如果你检查official authorization guide,你会更好地理解这个故事
【讨论】:
试过这个,然后我进入一个显示错误的页面,我将 URL 粘贴回去,它说请求错误。您是否必须拥有高级帐户才能访问 api 或其他东西? 不,我不知道。你设置了本地服务器吗?(localhost) 我不确定你的意思。为什么需要本地服务器?以上是关于Spotipy 尝试使用 oauth 进行验证的主要内容,如果未能解决你的问题,请参考以下文章
(spotipy) 方法永远不会完成,因为它在 oauth 重定向 url 的视图中结束