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

Miq*_*ell 6 spotify

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

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

上下文

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

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

BOP控制界面

使用bop.fm控制界面,我们可以暂停,播放,跳过下一个,甚至可以使用进度条跳到轨道中的某个点.这是类似的,但比官方的spotify播放按钮更强大,请看这里的例子:http: //jsfiddle.net/insonorizate/a5jf39yn/

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

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

Bop.Player.pause()
Run Code Online (Sandbox Code Playgroud)

要么

Bop.Player.play()
Run Code Online (Sandbox Code Playgroud)

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

在bop.fm页面上摆弄一点有一些有趣的东西.Ther是主页面中的iframe,其中包括:

https://embed.spotify.com/remote-control-bridge/
Run Code Online (Sandbox Code Playgroud)

查看此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);
Run Code Online (Sandbox Code Playgroud)

没有关于Spotify.RemoteControlBridge的文档(谷歌上的"Spotify.RemoteControlBridge"的0结果)并且文档中没有任何关于以类似于此类似的方式控制spotify播放器的apis.

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

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

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

有可能复制它吗?

它是否符合Spotify条款?

谢谢!

Tim*_*cke 4

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

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

  • Spotify(谁知道)
  • 雅虎
  • 最后调频
  • Coachella.com
  • 波普调频
  • 美国沙坑
  • 回声巢
  • 音乐匹配

您可以联系他们并寻求合作伙伴关系。我确信它们不会咬人。