easy-spotify

An easy spotify web api js library.

Usage no npm install needed!

<script type="module">
  import easySpotify from 'https://cdn.skypack.dev/easy-spotify';
</script>

README

EasySpotify - A Spotify Web Api JS Wrapper

Build Status

This is a JavaScript library that wraps Spotify Web API to make your life easier.

Browser Support

This library relies on Fetch API, which is supported in the following browsers:

Chrome Firefox Opera Safari IE Edge iOSSafari
42+ ✔ 40+ ✔ 29+ ✔ 10.1+ ✔ Nope ✘ 14+ ✔ 10.3+ ✔

For more detailed information, see caniuse.com.

Installation and Usage

This library depends on fetch to make requests. For environments that don't support fetch, like NodeJS or older browser, you'll need to provide a polyfill.

NodeJS

Install both node-fetch polyfill and easy-spotify:

terminal

$ npm install node-fetch easy-spotify --save

app.js

// set node-fetch as global.fetch before anything
global.fetch = require('node-fetch');
// now you can use the library
const EasySpotify = require('easy-spotify');
const spotify = new EasySpotify({token: 'your-token-here'});

Browser

Install easy-spotify from npm and require it from /dist folder.

index.html

<!-- import default version -->
<script src="node_modules/easy-spotify/dist/easy-spotify.umd.js"></script>
<!-- or import minified version -->
<!-- <script src="node_modules/easy-spotify/dist/easy-spotify.umd.min.js"></script> -->
<!-- import your js file -->
<script src="js/app.js"></script>

app.js

let easySpotify = new EasySpotify({token: 'your-token-here'})

Examples

To see examples, refer to the examples folder.

Methods

This library is still in development (so as the documentation), but all methods are documented in JSDoc format. If your editor support JSDoc, then you can see type information and all methods for EasySpotify object.

Built With

Ideas to Implement

  • Add configurations to paginate some requests, like getAlbums, search, searchTracks
  • Support Artists endpoints
  • Support Browse endpoints
  • Support Follow endpoints
  • Support Library endpoints
  • Support Personalization endpoints
  • Support Player endpoints
  • Support Playlists endpoints
  • Support Tracks endpoints
  • Support User Profiles endpoints
  • Find a way to get a OAuth token (don't think that is possible with js only)

Authors

Bruno Lombardi
Bruno Lombardi

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments