1

我正在尝试使用 API 在 Spotify 集成应用程序上列出当前用户的所有播放列表(及其曲目),如https://github.com/spotify/apps-tutorial/tree/1.0中所述。

有没有办法做到这一点?还是现在不支持?

使用 1.X API 我这样做了:

var returnedLibrary;
require(['$api/library#Library'], function(Library) {
  returnedLibrary = Library.forCurrentUser();
});

(来自:https ://developer.spotify.com/docs/apps/api/1.0/library_.html )

我想我的对象returnedLibrary有当前用户的所有播放列表,不是吗?我的问题是我不知道如何处理这个返回的对象以及如何遍历它。

有谁知道如何访问这些信息?

谢谢,

4

2 回答 2

2

如果你对用户的播放列表感兴趣,你可以这样做:

var returnedLibrary;
require(['$api/library#Library'], function(Library) {
  returnedLibrary = Library.forCurrentUser();
  returnedLibrary.playlists.snapshot().done(function(snapshot) {
    for (var i = 0, l = snapshot.length; i < l; i++) {
      var playlist = snapshot.get(i);
      // do something with playlist
    }
  });
});
于 2013-07-08T14:28:41.623 回答
1

终于达到了我的目的:

var returnedLibrary;
require(['$api/library#Library'], function(Library) {
  returnedLibrary = Library.forCurrentUser();
  returnedLibrary.playlists.snapshot().done(function(snapshot) {
    for (var i = 0, l = snapshot.length; i < l; i++) {
      var playlist = snapshot.get(i);
      aplay._collections();
      aplay.tracks.snapshot().done(function(s){
      selectedPlaylist = s;
      for(k=0;k<s.length;k++){
              s.get(k).name; //Will be the name of that song
      }
      });
    }
  });
});

尽管如此,我不知道为什么我必须打电话aplay._collections();(它似乎是一个私有方法)。如果我不这样做,tracks则不会设置属性...对此有什么想法吗?

谢谢!

于 2013-07-09T10:37:39.740 回答