Spotify没有重定向URI?

时间:2015-01-14 13:54:36

标签: python spotify

我正在使用Spotipy从授权用户那里获取一些spotify数据,但我无法理解如何授权我的帐户。

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

我正在尝试制作一个没有网站的程序,那么我应该如何处理授权呢?重定向URI到底应该做什么?

由于

编辑:

现在使用http://localhost:8888/callback作为我的重定向URI并且可行。我甚至不确定为什么因为那个端口没有运行。

1 个答案:

答案 0 :(得分:1)

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

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

要将此令牌传达给MyApp,您的问题中会列出服务器回调。因为所有浏览器都可以重定向到您提供的特殊URL,并添加了一些信息。

因此概念上有两种方法可以解决这个问题:

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

  • 更难依赖操作系统的:你编写了一个应用程序,它将自己注册为浏览器的协议提供者。例如。我的公司用协议“ableton”来做到这一点。因此,我们可以使浏览器生成“ableton:// AUTHORIZATION-REQUEST-RESULT”URL,然后通过浏览器和操作系统将其传送到正在运行的应用程序,从而获得必要的秘密。

HTH