在浏览器中加载node-spotify或spotify-web节点模块

时间:2014-03-17 17:41:50

标签: javascript html node.js api client

我想在浏览器中使用Spotify's Playlist API。不幸的是,他们的网络API only covers metadata,完整的API需要libspotify 。这似乎意味着我需要set up a spotify API server自己使用包装API的其中一个节点库,例如node-spotify-webnode-libspotify并使用像{browserify这样的工具{3}}或RequireJSgluejs将该节点库公开给浏览器。

我在这里遗漏了什么吗?实际上,我只是希望能够编写浏览器端,最好是API驱动的JavaScript,它将查询特定的播放列表。是否有可能使浏览器端的任意节点包比我想象的更脆弱或偶然? 我是否正确地假设我可以在浏览器端嵌入其中一个节点包?

我问,因为我尝试过这样做,遇到不同库和工具的不同问题,从使用browserify时生成的gluejs输出中的语法错误到缺少的需求错误like this one。我会为这些问题提出单独的问题,但事实上我在几个不同的工具上遇到了几个不同软件包的问题让我觉得我错过了一些东西 -

谢谢!

2 个答案:

答案 0 :(得分:2)

在这里找到node-spotify的作者,Michaiel Dral是对的。你不能在浏览器中使用node-spotify,你必须在使用它的node.js中编写自己的服务。

但Spotify刚刚宣布他们的新网络API现在也有播放列表管理:https://developer.spotify.com/web-api/

答案 1 :(得分:1)

不,这是不可能的。

Libspotify在浏览器中没有用,因为使用它的nodejs模块需要C ++部分,这些部分在浏览器中不可用。

Node-spotify-web仅在节点中起作用,因为浏览器很可能不允许对spotify服务器进行跨源请求。

所以你必须:

  1. 使您的应用成为扩展程序(允许扩展程序执行某些跨源请求)
  2. 使用代理。