Spotify 创建播放列表并添加曲目
Posted
技术标签:
【中文标题】Spotify 创建播放列表并添加曲目【英文标题】:Spotify create playlist and add tracks 【发布时间】:2014-01-28 10:34:09 【问题描述】:我正在尝试向我的应用 API 1.0 添加“另存为播放列表”按钮。
谁能帮我弄清楚这里出了什么问题?
var player_obj = models.Album.fromURI('spotify:album:7o7UHh5PfO1kY4YoxqrwN7');
player_obj.load('tracks').done(function(a)
var saved_playlist = new models.Playlist.create(player_obj.name);
console.log(saved_playlist);
a.tracks.snapshot().done(function(snapshot)
for (var i = 0, l = snapshot.length; i < l; i++)
var track = snapshot.get(i);
saved_playlist.add(track);
);
);
得到错误: Uncaught TypeError: Object # has no method 'add'
播放列表已创建,但它是空的。
当 player_obj 是播放列表时,我会遇到同样的错误,但播放列表的创建部分是使用“正在加载...”,其中名称位于左侧。
var player_obj = models.Playlist.fromURI('spotify:user:diannallm:playlist:7A5y9BA7dxQfOdEoN8igbY');
【问题讨论】:
你在哪一行得到这个错误? 【参考方案1】:终于想通了。
player_obj.load('tracks').done(function(po)
models.Playlist.create(player_obj.name).done(function(new_playlist)
new_playlist.load('tracks').done(function(new_playlist_tracks)
po.tracks.snapshot().done(function(tracksnapshot)
new_playlist_tracks.tracks.add(tracksnapshot.toArray());
/*
//This also works, but is less efficient and tracks may be entered out of order
for (var i=0; i<tracksnapshot.length; i++)
var track = tracksnapshot.get(i);
new_playlist_tracks.tracks.add(track);
*/
);
);
);
);
【讨论】:
以上是关于Spotify 创建播放列表并添加曲目的主要内容,如果未能解决你的问题,请参考以下文章
使用 spotify-api-server 添加曲目到 Spotify 播放列表
如何将曲目添加到 Spotify 中的“已加星标”播放列表?