【问题标题】:Loading node-spotify or spotify-web node modules in the browser在浏览器中加载 node-spotify 或 spotify-web 节点模块
【发布时间】:2014-04-23 01:50:28
【问题描述】:

我想在浏览器中使用Spotify's Playlist API。不幸的是,他们的 web api only covers metadata,完整的 API 需要 libspotifyet al。这似乎意味着我需要set up a spotify API server自己使用包装API的节点库之一,如node-spotify-webnode-libspotify,并使用browserifyRequireJS之类的工具或gluejs 将该节点库公开给浏览器。

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

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

谢谢!

【问题讨论】:

    标签: javascript html node.js api client


    【解决方案1】:

    不,这是不可能的。

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

    Node-spotify-web 仅在 node 中工作,因为浏览器很可能不允许跨域请求到 spotify 服务器。

    所以你必须:

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

    【讨论】:

      【解决方案2】:

      node-spotify 的作者,Michaiel Dral 是正确的。您不能在浏览器中使用 node-spotify,您必须在使用它的 node.js 中编写自己的服务。

      但 Spotify 刚刚宣布了他们的新 Web API,它现在也具有播放列表管理功能:https://developer.spotify.com/web-api/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        • 2016-11-01
        • 2012-10-18
        • 2017-11-09
        • 1970-01-01
        相关资源
        最近更新 更多