0

我正在尝试获取一个包含用户库中所有播放列表的数组(http://developer.spotify.com/download/spotify-apps-api/reference/ddcdebc652c.html)。

其他类属性(专辑、艺术家、starredPlaylist、曲目)没有问题,但不知何故“播放列表”属性无法使用

var allPlaylists = models.library.playlists;

然而

var allArtists= models.library.artists;

工作得很好!(都使用 document.write(var) )

有什么建议么?谢谢你!

4

3 回答 3

2

以下是官方回答:

不幸的是,出于隐私原因,在 Spotify Apps API 中获取用户播放列表的功能已被删除。这是在最后一刻完成的,文档没有及时更新。我们将很快发布反映这一变化的新版本的客户端和文档。

于 2012-01-05T16:10:06.617 回答
1

我看起来 sp.core.library.getPlaylists 在 . 0.8.0–701-gc2d793a

于 2011-12-25T18:01:01.793 回答
0

我认为这是API的错误。

sp = getSpotifyAPI(1);
models = sp.require('sp://import/scripts/api/models')
models.library.playlists;

> TypeError: Cannot read property 'length' of undefined

try { models.library.playlists } catch(err) { console.log(err.stack) }

> TypeError: Cannot read property 'length' of undefined
    at map (sp:216:20)
    at Library.<anonymous> (eval at evalModule (sp:55:46))
    at unknown source
    at Object._evaluateOn (unknown source)
    at Object._evaluateAndWrap (unknown source)
    at Object.evaluate (unknown source)

挖掘 models.js 文件,我们看到 Library 使用 sp.core.library.getPlaylists() 来获取播放列表,它应该返回一个数组但返回未定义:

sp.core.library.getPlaylists()

> undefined

sp.core.library.getPlaylists

> function getPlaylists() { [native code] }

由于 sp.core.library.getPlaylists 是本机代码,我无法深入兔子洞以查看它在做什么。因此,除非 spotify 开发人员说这是所需的行为,否则我的结论是这是一个错误。

于 2011-12-25T12:12:05.423 回答