我目前正在构建一个web应用程序,要求Spotify用户使用其凭据登录,以便访问其播放列表
我正在为Spotify的Web API使用Spotipy python包装器,并使用
token = util.prompt_for_user_token(username,scope,client_id,client_secret,redirect_uri)
代码在本地计算机上运行时没有任何问题。但是,当我在AWS上部署web应用程序时,它不会转到重定向的uri并允许用户登录
我已经尝试通过SCP将“.cache username”文件传输到我的AWS机器实例,并使其以有限的方式工作
这个问题有解决办法吗?我对AWS还比较陌生,因此没有太多的东西要做,也不知道去哪里找。任何帮助都将不胜感激。提前谢谢
捷径
.cache-{userid}
数据库方式
Github上当前有一个开放的特性请求,建议将令牌存储在DB中。欢迎订阅本期或投稿https://github.com/plamere/spotipy/issues/51
还可以编写一些代码将新令牌持久化到数据库中,然后从中读取。这就是我使用DynamoDB作为AWS Lambda的一部分所做的,它不是很好,但它工作得非常好https://github.com/resident-archive/resident-archive/blob/a869b73f1f64538343be1604d43693b6165cc58a/functions/to-spotify/main.py#L129..L157
API方式
这可能是最好的方式,因为它允许多个用户同时登录。不过,它有点复杂,需要您托管一个可以通过URL访问的服务器
本例使用Flask,但可以将其改编为Django,例如https://github.com/plamere/spotipy/blob/master/examples/app.py
相关问题 更多 >
编程相关推荐