【发布时间】:2018-11-18 00:58:34
【问题描述】:
我正在尝试做一个使用 Spotify API(使用 node.js 作为服务器)的网络应用程序,但我最近遇到了一个我无法解决的问题。基本上,我想比较两个播放列表的内容,但由于 API 每个请求只提供 100 首曲目,我找不到完成这项工作的方法。我已经尝试在请求中使用循环,但似乎不起作用。
request.get(options, function(error, response, body) {
var data = [];
data.push(JSON.parse(JSON.stringify(body)));
let urls = [];
for (let i = 0; i < data[0].total; i = i + data[0].limit){
urls.push('https://api.spotify.com/v1/me/tracks?offset='+i);
}
data = [];
for (let i = 0; i < urls.length; i++) {
options.url = urls[i];
request.get(options, function(error, response, body) {
let tmp = JSON.parse(JSON.stringify(body));
let items = tmp.items
if (items != null){
for(let o of tmp.items) {
data.push(o.track.name);
}
if (tmp.next == null){
return res.send(JSON.stringify(data));
console.log('done');
}
}
});
}
【问题讨论】:
标签: javascript node.js spotify