有没有办法使用spotify WEB API来检查是否安装了spotify?

时间:2012-11-21 22:32:28

标签: javascript api spotify

基本上我想要创建一个链接列表,如果安装了Spotify,它将使用Spotify URI链接到Spotify,如果没有安装则只显示纯文本。

据我所知:

  

Spotify的:轨道:7yOKhepYf8pO8ILT2Z5KN1

如果输入浏览器并安装了Spotify,它将立即启动曲目或您要求的内容。

如果未安装Spotify,则只运行正常的浏览器请求。

我已经查看了文档中我可以挂钩但我无法找到任何可用于外部应用程序的内容,只是重申此应用程序不是本机Spotify应用程序。

我正在寻找的最终结果是一种调用该方法的方法,如果安装了Spotify,则返回true,如果未安装则返回false。

要求是使用HTML CSS和JavaScript。

2 个答案:

答案 0 :(得分:1)

除非您编写类似firebreath之类的浏览器插件,否则出于安全原因,我认为这不可行。

答案 1 :(得分:1)

我还没有深入研究这个问题,但您可以使用端口4380上的spotilocal.com域(只是对127.0.0.1的DNS引用)联系本地Spotify客户端。

如果它允许CORS,那么您应该能够使用javascript调用此URL:

http://1234.spotilocal.com:4380/remote/status.json

看看结果如何。

这就是Facebook如何进行Spotify集成,如下所示:

What is the advantage of having a domain name (spotilocal) that resolves to 127.0.0.1?

更新

如果您使用的是Chrome,请在此页面上打开您的开发工具,然后在控制台中粘贴并运行它:

$.get('http://1234.spotilocal.com:4380/remote/status.json', function(data){console.log(data)});

响应标头包含Access-Control-Allow-Origin:*,因此您应该能够使用页面中的AJAX调用该URL

更新2(2013年7月24日)

最新版本的spotify客户端(我在0.9.1.57上)不再包含Access-Control-Allow-Origin标题,因此上述方法不再有效。