是否可以从具有自定义控件的浏览器控制spotify桌面客户端?

时间:2014-09-04 12:35:48

标签: spotify

我是playmoss的开发人员,用户可以使用不同的音乐服务创建播放列表。

我们计划以类似于bop.fm的方式向我们的播放列表添加Spotify支持。

上下文

以此播放列表为例(其中所有歌曲均可在spotify上播放,至少在西班牙)... https://bop.fm/p/o12l

...如果我们的计算机上安装了spotify客户端(使用Mac测试) 一旦播放列表开始播放,我们可以点击右上角的[spot]图标,我们将通过spotify播放歌曲。

BOP control interface

使用bop.fm控制界面,我们可以暂停,播放,跳过下一步,甚至可以跳到带有进度条的轨道中的某个点。 这与官方spotify播放按钮类似,但功能更强大,请参见此处的示例: http://jsfiddle.net/insonorizate/a5jf39yn/

使用播放按钮有前一个,播放,暂停,下一个功能,但不是搜索。

当然它不能以任何方式定制,也不能从javascript调用。 (在bop.fm中可以打开一个debuger控制台并调用

Bop.Player.pause()

Bop.Player.play()

通过spotify暂停或播放bop.fm中播放的曲目。

在bop.fm页面上摆弄一些有趣的东西。 Ther是主页面中的iframe:

https://embed.spotify.com/remote-control-bridge/

查看此iframe来源,我们发现如下内容:

// Expose the OAuth Token to the Javascript
var tokenData = 'NAowChgKB1Nwb3RpZnkSABoGmAEByAEBJReQCFQSFG2Ynvz1oBKgxv2mE1XXz_1Au-cg';

// Pass the remote control to the bridge
var remoteControlBridge = new Spotify.RemoteControlBridge();
remoteControlBridge.init(tokenData);

没有Spotify.RemoteControlBridge的文档(谷歌上的“Spotify.RemoteControlBridge”的0结果)并且文档中没有任何关于控制spotify播放器的apis甚至接近以类似的方式控制Spotify播放器。

问题

如何从浏览器控制spotify桌面应用程序?

bop.fm是否对spotify有任何特殊的安排,他们正在使用一些“秘密api”?

他们是否正在利用我找不到的某些功能?

是否可以复制它?

是否符合Spotify条款?

谢谢!

2 个答案:

答案 0 :(得分:4)

无法控制Spotify客户端正在发出的Spotify客户端或收听事件。想象一下每个人都可以:每个网站都可能在未经您许可的情况下播放一首歌,甚至不知道您正在听什么。为防止此Spotify,只允许经过批准的合作伙伴使用此功能。

正如您所知,远程控制桥提供了此功能。它可以与您系统上运行的Spotify Web Helper进行通信,该助手由OAuth和CSRF令牌保护。在远程控制桥中,您甚至可以看到允许的合作伙伴:

  • Spotify(谁知道)
  • 雅虎
  • last.fm
  • coachella.com
  • bop.fm
  • sandpit.us
  • echonest
  • musixmatch

你可以contact them并要求建立伙伴关系。我确定他们不会咬人。

答案 1 :(得分:1)

这实际上是在开发人员部分的Spotify网站上进行了一些记录。 我认为bop.fm确实使用了他们的自定义Spotify Play Button小部件。这会使用您提到的iframe。

Here您可以找到有关Spotify此功能的文档。然后,您可以使用Javascript等将其修改为您自己的需求。