API Spotify Apps: библиотечный класс не будет возвращать пользователям плейлисты
Я пытаюсь получить массив, содержащий все списки воспроизведения в пользовательской библиотеке (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))
Какие-либо предложения? благодарю вас!
3 ответа
Похоже, что sp.core.library.getPlaylists был отключен в. 0.8.0-701-gc2d793a
Вот официальный ответ:
К сожалению, возможность получения плейлистов пользователя в API Spotify Apps была удалена из соображений конфиденциальности. Это было сделано в последнюю минуту, и документация не была обновлена вовремя. Мы скоро выпустим новую сборку клиента и документацию, отражающую это изменение.
Я думаю, что это ошибка с 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 не скажут, что это желаемое поведение, я сделаю вывод, что это ошибка.