Я думаю, что это ошибка в 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, мы видим, что библиотека использует sp.core.library.getPlaylists () для получения списков воспроизведения, которые должны возвращать массив, но возвращают неопределенное значение:
sp.core.library.getPlaylists()
> undefined
sp.core.library.getPlaylists
> function getPlaylists() { [native code] }
Поскольку sp.core.library.getPlaylists является нативным кодом, я не могу углубиться в кроличью нору, чтобы посмотреть, что он делает. Так что, если разработчики spotify не скажут, что это желаемое поведение, я заключаю, что это ошибка.