yandex-music-api
Version:
A Node.js wrapper for the Yandex.Music API (Unofficial) http://music.yandex.ru
72 lines (54 loc) • 2.13 kB
JavaScript
var YandexMusicApi = require('../lib/yandex-music-api'),
config = require('./config');
var api = new YandexMusicApi();
api.init(config.user)
.then(function() {
var name = 'Test Playlist',
options = { 'visibility': 'public' };
return api.createPlaylist(name, options).then(function(playlist) {
console.log('New playlist has been created:')
console.log('Name: ' + playlist.title);
console.log('Kind: ' + playlist.kind);
console.log('Visibility: ' + playlist.visibility);
return playlist;
});
})
.then(function(playlist) {
var tracks = [
{ id:'20599729', albumId:'2347459' },
{ id:'20069589', albumId:'2265364' },
{ id:'15924630', albumId:'1795812' },
]
return api.addTracksToPlaylist(playlist.kind, tracks, playlist.revision).then(function(playlist) {
console.log('Added ' + playlist.trackCount + ' tracks to the playlist:');
return playlist;
});
})
.then(function(playlist) {
var options = { 'rich-tracks': true }
return api.getPlaylists(null, [playlist.kind], options).then(function(playlist) {
playlist[0].tracks.forEach(function(item) {
console.log(item.track.title + ' - ' + item.track.artists[0].name);
});
return playlist[0]
});
})
.then(function(playlist) {
var tracks = [
{ id:'20599729', albumId:'2347459' },
{ id:'20069589', albumId:'2265364' },
{ id:'15924630', albumId:'1795812' },
]
return api.removeTracksFromPlaylist(playlist.kind, tracks, playlist.revision).then(function(playlist) {
console.log('All added tracks removed from the playlist.')
return playlist;
});
})
.then(function(playlist) {
return api.removePlaylist(playlist.kind).then(function(playlist) {
console.log('The playlist has been deleted.')
})
})
.catch(function(err) {
console.log(err);
});