An open API service indexing awesome lists of open source software.

https://github.com/gabriel-hahn/spotify-wrapper

A library to work with Spotify API :notes:
https://github.com/gabriel-hahn/spotify-wrapper

library purejavascript spotify-api tdd

Last synced: 2 months ago
JSON representation

A library to work with Spotify API :notes:

Awesome Lists containing this project

README

          

# spotify-wrapper

[![Build Status](https://travis-ci.org/gabriel-hahn/spotify-wrapper.svg?branch=master)](https://travis-ci.org/gabriel-hahn/spotify-wrapper) [![Coverage Status](https://coveralls.io/repos/github/gabriel-hahn/spotify-wrapper/badge.svg?branch=master)](https://coveralls.io/github/gabriel-hahn/spotify-wrapper?branch=master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5cb04a6659b743b0bedebba762d24de1)](https://www.codacy.com/app/gabriel_hahn/spotify-wrapper?utm_source=github.com&utm_medium=referral&utm_content=gabriel-hahn/spotify-wrapper&utm_campaign=Badge_Grade) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/gabriel-hahn/spotify-wrapper/pulls) [![Bugs](https://img.shields.io/github/issues/gabriel-hahn/spotify-wrapper/bug.svg)](https://github.com/gabriel-hahn/spotify-wrapper/issues?utf8=?&q=is%3Aissue+is%3Aopen+label%3Abug) [![The MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](http://opensource.org/licenses/MIT)

A wrapper to work with the follow API:

[Spotify Web API](https://developer.spotify.com/documentation/web-api/)

[Airbnb Style Guide](https://github.com/airbnb/javascript)

# Browser Support

This library relies on [Fetch API](https://fetch.spec.whatwg.org/). And this project is supported in the following browsers:

![Chrome](https://cloud.githubusercontent.com/assets/398893/3528328/23bc7bc4-078e-11e4-8752-ba2809bf5cce.png) | ![Firefox](https://cloud.githubusercontent.com/assets/398893/3528329/26283ab0-078e-11e4-84d4-db2cf1009953.png) | ![Opera](https://cloud.githubusercontent.com/assets/398893/3528330/27ec9fa8-078e-11e4-95cb-709fd11dac16.png) | ![Safari](https://cloud.githubusercontent.com/assets/398893/3528331/29df8618-078e-11e4-8e3e-ed8ac738693f.png) | ![IE](https://cloud.githubusercontent.com/assets/398893/3528325/20373e76-078e-11e4-8e3a-1cb86cf506f0.png) |
--- | --- | --- | --- | --- |
39+ | 42+ | 29+ | 10.1+ | Nope |

# Dependencies

This library depends on [fetch](https://fetch.spec.whatwg.org/) to make requests to the Spotify Web API. For environments that don't support fetch, you'll need to provide a [polyfill](https://github.com/github/fetch) to browser or [polyfill](https://github.com/bitinn/node-fetch) to Node.

# Installation

```sh
$ npm install spotify-wrapper-web --save
```

# How to use

### ES6

```js
// To import a specific method
import { method } from 'spotify-wrapper-web';

// To import everything
import * as spotifyWrapperWeb from 'spotify-wrapper-web';
```

### CommonJS

```js
var spotifyWrapperWeb = require('spotify-wrapper-web');
```

### UMD in Browser

```html

```

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

```js
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](https://developer.spotify.com/web-api/console/get-search-item/) with type defined as *album*.

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`query` |*string* | 'Any search query'|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-search-item/) with type defined as *artist*.

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`query` |*string* | 'Any search query'|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-search-item/) with type defined as *track*.

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`query` |*string* | 'Any search query'|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-search-item/) with type defined as *playlist*.

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`query` |*string* | 'Any search query'|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-album/).

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`id` |*string* | 'Specific id'|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-several-albums/).

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`ids` |*Array of strings* | ['id1', 'id2']|

**Example**

```js
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](https://developer.spotify.com/web-api/console/get-album-tracks/).

**Arguments**

| Argument | Type | Options |
|----------|---------|-------------------|
|`id` |*string* | 'Specific id'|

**Example**

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

## Contributing

Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).

## Authors

[Gabriel Hahn Schaeffer](https://github.com/gabriel-hahn/) |
[Willian Justen](https://github.com/willianjusten/) (Teacher)

See also the list of [contributors](https://github.com/gabriel-hahn/spotify-wrapper/contributors) who participated in this project.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details