Spotify App播放列表,未触发的事件

时间:2012-04-05 15:19:33

标签: javascript spotify playlists

我按照Spotify Apps API中的播放列表示例进行了操作,但除了示例播放列表之外,没有触发回调。

working: "spotify:user:spotify:playlist:3Yrvm5lBgnhzTYTXx2l55x"
not working: "spotify:user:1123874884:playlist:7xgiawpXZUVRFI1ohNfnP2"

第一个来自示例,第二个是我的示例播放列表。我像这样加载它们:

var playlist = models.Playlist.fromURI("spotify:user:shihjiapei:playlist:6YZtFxUCxmCgp3KDWTQhXW");
console.log("before event registration");
playlist.observe(models.EVENT.LOAD, function() {
    console.log("Playlist loaded!");
    console.log(playlist);
});
playlist.observe(models.EVENT.LOAD_ERROR, function() {
    console.log("Playlist error: not public!");
    console.log(playlist);
});

第一个说:加载播放列表! 第二个没有说什么......

我在spotify-client中检查了我的播放列表是公开的。那么我需要点击其他什么秘密开关?

任何经验,最好的实践表示赞赏。

编辑: WTF,就像那样......

var playlist_url = 'http://open.spotify.com/user/1123874884/playlist/7xgiawpXZUVRFI1ohNfnP2';
tempPlaylist = models.Playlist.fromURI(playlist_url, function(resultPlaylist) {
    console.log("Playlist loaded!");
    console.log(resultPlaylist);
});

但是为什么它与某些播放列表相反? ahhrg!

1 个答案:

答案 0 :(得分:0)

我认为这可能是因为您的第二个示例是本地播放列表,从技术上讲已经加载(在您当地的Spotify客户端中)。第一个示例是您可能尚未订阅的示例,因此它不会在本地存储,因此需要下载。

放入HTTP uri而不是Spotify,类似的情况是必须首先下载播放列表信息,因此将调用回调。