1

我遵循了 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);
});

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

4

1 回答 1

0

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

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

于 2012-04-11T18:59:51.723 回答