带有播放按钮和/或元数据 API (Spotify) 的现场演示

Posted

技术标签:

【中文标题】带有播放按钮和/或元数据 API (Spotify) 的现场演示【英文标题】:Live demos with the Play Button and / or Metadata API (Spotify) 【发布时间】:2013-12-05 01:55:06 【问题描述】:

播放按钮和/或元数据 API 是否已实现并正常工作? (当然在原生 Spotify 之外)

在这里查看元文档: https://developer.spotify.com/technologies/web-api/search/


我无法创建一个可以看到任何东西的环境;用代码/ API四处探索并尝试。我很想能够创建一个沙盒来查看任何可以在上面工作的东西。但文档似乎几乎不存在。


基本上;我想结合; https://developer.spotify.com/technologies/widgets/spotify-play-button/

使用元搜索。

我知道我可以看到这种语法: http://ws.spotify.com/search/1/track.json?q=artist:foo+fighters

但是如何在它前面进行搜索;然后吐出来?这似乎是一个中间组件,我不确定如何处理。

我只想创建一个搜索栏>>从该搜索栏中您可以输入艺术家>>点击 Spotify >> 并吐出艺术家的播放列表来收听。

稍后我想返回并创建一个过滤器,以仅吐出在特定区域内举办活动或音乐会的艺术家。

【问题讨论】:

【参考方案1】:

这个问题不一定与 Spotify 的 Web API 有关,而是使用服务器端脚本从 Web API 检索信息并将结果传递给视图。正如similar question 中的回答,API 不支持CORS 或JSONP。并且由于您can't make XMLHttpRequests to different domains,您必须制作服务器端脚本来向 Web API 发出 HTTP 请求。正如类似的帖子所说,您可以使用多种语言执行此操作,例如php、Python、Java 或 javascript

JavaScript 解决方案可能是使用 Express webserver 运行 Node,它使用 needle 向 Web API 发出 HTTP 请求,并将该请求的结果传递给浏览器视图。

类似的,

var express = require('express');
var app = express();
var needle = require('needle');

// Handle requests for http://localhost:3000/<some-artist-name>
app.get('/:artistname', function(req, res) 

  // Make request to Spotify's Web API for some artist name
  needle.get('http://ws.spotify.com/search/1/artist?q=artist:' + req.params.artistname, function(error, response, body) 

    // Most popular artist from search results
    var artistURI = body.artists[0];

    // Send a Spotify Play Button iframe for the artist URI
    res.send("<iframe src='https://embed.spotify.com/?uri=" + artistURI + "' width='300' height='380' frameborder='0' allowtransparency='true'></iframe>"); 

  );  
);

app.listen(3000);

请将此视为不恰当详细的伪代码,并且只是将 Node 与这两个特定模块一起使用的示例。你有很多选择。

【讨论】:

以上是关于带有播放按钮和/或元数据 API (Spotify) 的现场演示的主要内容,如果未能解决你的问题,请参考以下文章

Spotify 是不是为其 Spotify“播放按钮”嵌入提供 oEmbed API 端点?

Spotify Web API 播放端点 - 播放曲目

我可以将 Web API 和播放按钮小部件用于第 3 方 Spotify 移动应用程序吗?

Spotify Apps Api - 创建播放列表的“分享”按钮

Spotify API:从临时播放列表创建单选按钮不支持?

Spotify App API:标签页、播放列表 UI 刷新