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 не скажут, что это желаемое поведение, я сделаю вывод, что это ошибка.

Другие вопросы по тегам