2012-11-21 65 views
2

基本上我想要创建的链接列表将链接到Spotify使用Spotify URI如果安装了Spotify,并且只是纯文本(如果未安装)。有没有办法使用spotify WEB API来检查spotify是否被安装?

从我这方面的知识:

Spotify的:轨道:7yOKhepYf8pO8ILT2Z5KN1

如果输入到浏览器和Spotify已安装会立即启动曲目或你要求什么都。

如果Spotify的未安装此只运行一个正常的浏览器请求。

我已经看过的文件的东西,我可以挂接到,但我只是不能找到任何是一个外部应用程序可用,只是为了重申这个应用程序是不是本机的Spotify应用。

什么我要寻找作为一个最终的结果是调用如果安装Spotify的检查,以返回true,如果没有安装假回报的方法。

要求是仅使用HTML CSS和JavaScript。

+0

我怀疑这是可能的。似乎Spotify链接是由Spotify应用程序自行注册为URL处理程序,并且无法检测到可用的URL句柄。 (请参阅http://stackoverflow.com/questions/836777/how-to-detect-browsers-protocol-handlers)。也就是说,除非Spotify安装浏览器插件。 – millimoose

+2

如果可能,这将是一个安全风险,所以我怀疑它。 – Wolph

回答

1

除非你写了一个浏览器的东西,如firebreath插件,我不相信这是出于安全原因。

1

我没有看上去太深入到这个还没有,但你可以使用端口4380

的spotilocal.com域(只是一个DNS参考127.0.0.1)如果允许联系当地的Spotify客户端CORS,那么你应该能够调用此网址使用JavaScript:

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?

UPDATE

如果您在Chrome中打开此页面上的开发工具,并粘贴并运行此在控制台:

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

响应报头包含 Access-Control-Allow-Origin:*所以你笑ULD能够从你的页面中调用使用AJAX该URL

更新2(24/07/13)

Spotify的客户端的最新版本(我在0.9.1.57)不再包括Access-Control-Allow-Origin标题和上面的方法因此不再有效。

相关问题