python - 没有重定向 URI 的 Spotify?

标签 python spotify

我正在使用 Spotipy 从授权用户那里获取一些 spotify 数据,但我不明白如何授权我的帐户。

我认为需要一台服务器来托管位于 http://www.myapp.com/callback 的东西,我的想法是否正确? ?需要退回什么?也许我在这里完全遗漏了一些东西......我对整个所需的重定向 URI 事情感到非常困惑......

我想做一个程序,没有网站,我应该如何处理授权?重定向 URI 究竟应该做什么?

谢谢

编辑:

使用 http://localhost:8888/callback现在作为我的重定向 URI 并且有效。我什至不确定为什么,因为那个端口上没有运行任何东西。

最佳答案

免责声明:我对 Spotify 的 API 一无所知。但我过去曾使用过类似的 API(甚至设计过它们)。我假设他们使用某种 OpenID/OAuth 授权机制。

这些 API 的本质是它们通过浏览器工作!这个想法是 MyApp 没有您的实际 Spotify 凭据,而是它可以使用的一些签名 token 。

要将此 token 传递给 MyApp,需要在您的问题中概述服务器回调。因为浏览器所能做的就是重定向到您提供的特殊 URL,并添加一些信息。

所以在概念上有两种方法来处理这个问题:

  • 基于服务器的简单方法:您实际上注册了一个 myapp.com。当您的应用尝试使用 Spotify 进行授权时,它首先会创建一个唯一的资源 (myapp.com/authrequests/HASH-NUMBER),并将其作为回调进行通信。然后它通过让 spotify 授权它的 Action ,一旦这些完成,就会调用 myapp.com/authrequests/HASH-NUMBER/ADDITIONAL-INFO。因此,当您的应用程序等待这种情况发生时,它必须轮询(或打开一个 websocket 并收听)myapp.com。复杂的?等等,它会变得更好!

  • 更难的是,依赖于操作系统:您编写一个应用程序,将自己注册为您的浏览器的协议(protocol)提供者。例如。我的公司使用协议(protocol)“ableton”来做到这一点。因此,我们可以让浏览器生成“ableton://AUTHORIZATION-REQUEST-RESULT”URL,然后通过浏览器和操作系统将这些 URL 传送到正在运行的应用程序,因此您会收到必要的 secret 。

HTH

关于python - 没有重定向 URI 的 Spotify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27944590/

相关文章:

python - python 单元测试中的 Neo4j 临时数据库

ios - 我可以通过在 iOS 应用程序中使用 API Spotify 来解决这个问题吗?

python - 如何将 Django OAuth Toolkit 与 Python Social Auth 结合使用?

python - 如何用 Python 杀死 Linux 进程

python - "if x == True"和 "if x:"有什么区别

c - 播放轨道后使用 sp_session_logout 出现段错误

javascript - 对 Spotify Web API 的身份验证请求被拒绝

Ruby 登录以使用 Mechanize 进行 Spotify

android - 在同一 android 播放器服务中播放本地歌曲和 spotify 歌曲

python - 使用引用顺序的自定义排序列表