Skip to content

joaaomanooel/spotify-wrapper

Repository files navigation

Spotify Wrapper

Build Status Coverage Status Known Vulnerabilities

A wrapper to work with the Spotify Web API.

Browser Support

This library relies on Fetch API. And this API is supported in the following browsers.

Chrome Firefox Opera Safari IE
39+ ✔ 42+ ✔ 29+ ✔ 10.1+ ✔ Nope ✘

Dependencies

This library depends on fetch to make requests to the Spotify Web API. For environments that don't support fetch, you'll need to provide a polyfill to browser or polyfill to Node.

Installation

$ npm i @manoel_joaoo/spotify-wrapper --save

How to use

ES6

// to import a specific method
import SpotifyWrapper from '@manoel_joaoo/spotify-wrapper';

const spotify = new SpotifyWrapper({
  token: 'YOUR_TOKEN_HERE'
});

// using  method
spotify.search.artists('Incubus');

CommonJS

const SpotifyWrapper = require('@manoel_joaoo/spotify-wrapper').default;

const spotify = new SpotifyWrapper({
  token: 'YOUR_TOKEN_HERE'
});

UMD in Browser

<!-- to import non-minified version -->
<script src="spotify-wrapper.umd.js"></script>

<!-- to import minified version -->
<script src="spotify-wrapper.umd.min.js"></script>

After that the library will be available to the Global as SpotifyWrapper. Follow an example:

const spotify = new SpotifyWrapper({
  token: 'YOUR_TOKEN_HERE'
});

const albums = spotify.search.albums('Choosen Artist');

Methods

Follow the methods that the library provides.

search.albums(query)

Search for informations about Albums with provided query. Test in Spotify Web Console with type defined as album.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.albums('Incubus')
  .then(data => {
    // do what you want with the data
  })

search.artists(query)

Search for informations about Artists with provided query. Test in Spotify Web Console with type defined as artist.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.artists('Incubus')
  .then(data => {
    // do what you want with the data
  })

search.tracks(query)

Search for informations about Tracks with provided query. Test in Spotify Web Console with type defined as track.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.tracks('Drive')
  .then(data => {
    // do what you want with the data
  })

search.playlists(query)

Search for informations about Playlist with provided query. Test in Spotify Web Console with type defined as playlist.

Arguments

Argument Type Options
query string 'Any search query'

Example

spotify.search.playlists('Happy Day')
  .then(data => {
    // do what you want with the data
  })

album.getAlbum(id)

Search for informations about a specific Album with provided id. Test in Spotify Web Console.

Arguments

Argument Type Options
id string 'Specific id'

Example

spotify.album.getAlbum('4aawyAB9vmqN3uQ7FjRGTy')
  .then(data => {
    // do what you want with the data
  })

album.getAlbums(ids)

Search for informations about some Albums with all id's. Test in Spotify Web Console.

Arguments

Argument Type Options
ids Array of strings ['id1', 'id2']

Example

spotify.album.getAlbums(['4aawyAB9vmqN3uQ7FjRGTy', '1A2GTWGtFfWp7KSQTwWOyo'])
  .then(data => {
    // do what you want with the data
  })

album.getTracks(id)

Search for all tracks in a specific Album with provided id. Test in Spotify Web Console.

Arguments

Argument Type Options
id string 'Specific id'

Example

spotify.album.getTracks('4aawyAB9vmqN3uQ7FjRGTy')
  .then(data => {
    // do what you want with the data
  })

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

João Manoel Neto
João Manoel Neto

See also the list of contributors who participated in this project.

License

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