Для API 1.0:
require([
'$api/models'
], function (models) {
var addList = function(list) {
list.load('tracks').done(function(list) {
list.tracks.snapshot().done(function(trackSnapshot){
var tracks = trackSnapshot.toArray();
for(var i=0; i<tracks.length; i++) {
addTrack(tracks[i]);
}
});
});
}
var addTrack = function(track) {
track.load('name','artists').done(function(track) {
var artists = track.artists;
var artistsList = [];
for (var i=0; i<artists.length; i++) {
artistsList.push(artists[i].name);
}
// Print out info if desired
var addedTrackRow = document.createElement('p');
addedTrackRow.innerHTML = "Added track: " + artistsList.join(', ') + ' - ' + track.name;
document.getElementById('addedTracks').appendChild(addedTrackRow);
});
}
exports.addList = addList;
exports.addTrack = addTrack;
}
// Example of use:
addList(models.Playlist.fromURI(...))
addTrack(models.Track.fromURI(...))
Я протестировал его, как описано выше, и он работает.
Я потратил некоторое время на поиски ответа на этот вопрос сам, а также искал, как получить доступ к трекам в списке, хотя это объясняется в учебном приложении , доступном на github в разделераздел «Метаданные»;«Получить метаданные исполнителя, альбома, дорожки или плейлиста».
Надеюсь, это полезно.