我正在尝试获取包含用户库中所有播放列表的数组(http://developer.spotify.com/download/spotify-apps-api/reference/dcdebc652c.html)。
其他类属性(专辑,艺术家,starredPlaylist,曲目)没有问题,但不知何故“播放列表”属性无法使用
var allPlaylists = models.library.playlists;
而
var allArtists= models.library.artists;
工作正常!(两者都使用document.write(var))
有什么建议吗?谢谢!
答案 0 :(得分:2)
以下是官方答复:
不幸的是,出于隐私原因,已删除了在Spotify Apps API中获取用户播放列表的功能。这是在最后一刻完成的,文档没有及时更新。我们将发布一个新版本的客户端和文档,很快就能反映出这一变化。
答案 1 :(得分:1)
我看起来像sp.core.library.getPlaylists被禁用了。 0.8.0–701-gc2d793a
答案 2 :(得分: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()来获取播放列表,播放列表应该返回一个数组但返回undefined:
sp.core.library.getPlaylists()
> undefined
sp.core.library.getPlaylists
> function getPlaylists() { [native code] }
由于sp.core.library.getPlaylists是本机代码,我无法深入兔子洞看看它在做什么。因此,除非Spotify开发人员说这是期望的行为,否则我的结论是它是一个错误。