Spotify Web API SDK | ES6
SDK written in ECMAScript 6. Allows you to use (almost) all Spotify Web API endpoints.
###Diagram
Development
git clone git@github.com:Cosmitar/spotify-client.git
npm install
gulp watch
Open the localhost:3000/demo/index.html and look for console.logs
##Instalation
add package.json
dependency "spotify-client": "latest"
run
npm install
import {Artist,Album,Track,User,Playlist,Session} from 'spotify-client';
Simple usage
Find (by id)
Artist.find( '7Ey4PD4MYsKc5I2dolUwbH' )
.then( ... );
Search all results
Artist.where( 'aerosmith' ).all()
.then( ... );
I'm feeling lucky
Artist.where( 'aerosmith' ).first()
.then( ... )
Methods from above are also available for Album, Track, Playlist and User entities.
OAuth
import {User,Session} from 'spotify-client';
Session.config({
clientId: '1dd4ae27b3fc480ebf627679e5bb0e17',
secretId: '31e8696e70574648b55b6fcc7c5b1135',
redirect_uri: 'http://localhost:3000/demo/'
});
let token = window.location.hash.split('&')[0].split('=')[1];
if( token ){
Session.token = token;
} else {
Session.login().then( url => {
window.location.href = url;
});
}
User.findMe().then( me => {
console.log(`I am: ${me.display_name}`);
});
Entity relationship
Get proper entity, not json
Artist.find( '7Ey4PD4MYsKc5I2dolUwbH' )
.then( artist => {
artist.getTopTracks( 'US' )
.then( trackList => {
for( let track of trackList ){
console.log(
`${ track.name } (${ track.duration })`
);
}
});
});
Reference
###All entities
find
Artist.find('Spotify ID')
.then(success, fail);
where
Artist.where('string to search');
get
Track.find('Spotify ID')
.then( track => {
track.get();
});
###Artist
getTopTracks
artist.getTopTracks( 'BR' )
.then(success, fail);
albums
artist.albums()
.all().then(success, fail);