1.0.1 • Published 4 years ago

@tacioantonio/spotify-web-api v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Spotify web API

Build Status Coverage Status

Um wrapper para trabalhar com o Spotify Web API.

Suporte

Esta biblioteca conta com Fetch API. E essa API é suportada nos seguintes navegadores.

Pré-requisitos

ChromeFirefoxOperaSafariIE
39+ ✔42+ ✔29+ ✔10.1+ ✔Nope ✘

Dependências

Essa biblioteca depende de Fetch para fazer solicitações à API da Web do Spotify. Para ambientes que não oferecem suporte à busca, é necessário fornecer um polyfill ao navegador ou polyfill para Node.

Instalação

$ npm i @tacioantonio/spotify-web-api

Como utilizar

ES6

// to import a specific method
import { method } from '@tacioantonio/spotify-web-api';
// to import everything
import * as spotifyWrapper from '@tacioantonio/spotify-web-api';

CommonJS

var spotifyWrapper = require('@tacioantonio/spotify-web-api');

UMD no navegador

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

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

Métodos

Siga os métodos que a biblioteca fornece.

Search

search.albums(query)

Procure informações sobre os álbuns com a consulta fornecida. Teste no Spotify Web Console com o tipo definido como álbum.

Argumentos

ArgumentTypeOptions
querystring'Any search query'

Exemplo

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

search.artists(query)

Procure informações sobre artistas com a consulta fornecida. Teste no Spotify Web Console com o tipo definido como álbum.

Argumentos

ArgumentTypeOptions
querystring'Any search query'

Exemplo

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

search.tracks(query)

Procure informações sobre artistas com a consulta fornecida. Teste no Spotify Web Console com o tipo definido como álbum.

Argumentos

ArgumentTypeOptions
querystring'Any search query'

Exemplo

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

search.playlists(query)

Pesquise informações sobre a Playlist com a consulta fornecida. Teste no Spotify Web Console com o tipo definido como álbum.

Argumentos

ArgumentTypeOptions
querystring'Any search query'

Exemplo

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

Album

album.getAlbum(id)

Obter faixas de um álbum. Teste no Spotify Web Console - Get an Album.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

album.getAlbums(ids)

Obter vários álbuns. Teste no Spotify Web Console - Get Several Albums.

Argumentos

ArgumentTypeOptions
idsArray of strings'id1', 'id2'

Exemplo

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

album.getTracks(id)

Obter faixas de um álbum. Teste no Spotify Web Console - Get an Album's Tracks.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

Artista

artist.getArtist(id)

Obter um Artista. Teste no Spotify Web Console - Get an Artist.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

artist.getArtists(ids)

Obter vários artistas. Teste no Spotify Web Console - Get Several Artists.

Argumentos

ArgumentTypeOptions
idsArray of strings'id1', 'id2'

Exemplo

spotify.artist.getArtists(['4aawyAB9vmqN3uQ7FjRGTy', '4aawyAB9vmqN3uQ7FjRGTy'])
  .then(data => {
    // do what you want with the data
  })

artist.getArtistAlbums(id)

Obter álbuns de um artista. Teste no Spotify Web Console - Get an Artist's Albums.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

artist.getRelatedArtists(id)

Obter artistas relacionados a um artista. Teste no Spotify Web Console - Get an Artist's Related Artists.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

artist.getArtistTopTracks(id)

Obter as principais faixas de um artista. Teste no Spotify Web Console - Get an Artist's Top Tracks Artists.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

Faixas

track.getTrack(id)

Obter uma faixa. Teste no Spotify Web Console - Get a Track.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

track.getTracks(ids)

Obter várias faixas. Teste no Spotify Web Console - Get Several Tracks.

Argumentos

ArgumentTypeOptions
idsArray of strings'id1', 'id2'

Exemplo

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

track.getAudioFeature(id)

Obter recursos de áudio para uma faixa. Teste no Spotify Web Console - Get Audio Features for a Track.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

track.getAudioFeatures(ids)

Obter recursos de áudio para várias faixas. Teste no Spotify Web Console - Get Audio Features for Several Tracks.

Argumentos

ArgumentTypeOptions
idsArray of strings'id1', 'id2'

Exemplo

spotify.track.getAudioFeatures(['4aawyAB9vmqN3uQ7FjRGTy', '4aawyAB9vmqN3uQ7FjRGTy'])
  .then(data => {
    // do what you want with the data
  })

track.getAudioAnalysis(id)

Obter análise de áudio para uma faixa. Teste no Spotify Web Console - Get Audio Analysis for a Track.

Argumentos

ArgumentTypeOptions
idstring'Specific id'

Exemplo

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

Lista de reprodução

playlist.getPlaylists()

Obter uma lista de listas de reprodução do usuário atual. Teste no Spotify Web Console - Get a List of Current User's Playlists.

Argumentos

ArgumentTypeOptions
---------

Exemplo

spotify.playlist.getPlaylists()
  .then(data => {
    // do what you want with the data
  })

playlist.getPlaylistsTracks(playlistId)

Obter faixas de uma lista de reprodução. Teste em Spotify Web Console - Get a Playlist's Tracks.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'

Exemplo

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

playlist.getPlaylist(playlistId)

Obter uma lista de reprodução. Teste em Spotify Web Console - Get a Playlist.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'

Exemplo

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

playlist.getUsers(userId)

Obter uma lista de listas de reprodução de um usuário. Teste em Spotify Web Console - Get a List of a User's Playlists.

Argumentos

ArgumentTypeOptions
userIdstring'Specific id'

Exemplo

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

playlist.postPlaylists(name, description, isPublic)

Crie uma lista de reprodução. Teste em Spotify Web Console - Create a Playlist.

Argumentos

ArgumentTypeOptions
namestring'Any query'
descriptionstring'Any query'
isPublicboolean'Any query'

Exemplo

spotify.playlist.postPlaylists('Muse', 'My music', false)
  .then(data => {
    // do what you want with the data
  })

playlist.postPlaylistsTracks(playlistId, uris)

Adicionar faixas a uma lista de reprodução. Teste em Spotify Web Console - Add Tracks to a Playlist.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'
urisstring'Any track query'

Exemplo

spotify.playlist.postPlaylistsTracks('3cEYpjA9oz9GiPac4AsH4n', 'spotify%3Atrack%3A4iV5W9uYEdYUVa79Axb7Rh%2Cspotify%3Atrack%3A1301WleyT98MSxVHPZCA6M')
  .then(data => {
    // do what you want with the data
  })

playlist.putPlaylistsTracks(playlistId, rangeStart, rangeLength, insertBefore)

Reordenar ou substituir as faixas de uma lista de reprodução. Teste em Spotify Web Console - Reorder or replace a Playlist's Tracks.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'
rangeStartnumber'Any query'
rangeLengthnumber'Any query'
insertBeforenumber'Any query'

Exemplo

spotify.playlist.postPlaylists('3cEYpjA9oz9GiPac4AsH4n', 1, 2, 3)
  .then(data => {
    // do what you want with the data
  })

playlist.putPlaylists(playlistId, name, description, isPublic)

Alterar os detalhes de uma lista de reprodução. Teste em Spotify Web Console - Change a Playlist's Details.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'
namestring'Any query'
descriptionstring'Any query'
isPublicboolean'Any query'

Exemplo

spotify.playlist.putPlaylists('3cEYpjA9oz9GiPac4AsH4n', 'Muse', 'My music', false);
  .then(data => {
    // do what you want with the data
  })

playlist.deletePlaylists(playlistId, uri, positions)

Remover faixas de uma lista de reprodução. Teste em Spotify Web Console - Remove Tracks from a Playlist.

Argumentos

ArgumentTypeOptions
playlistIdstring'Specific id'
uristring'Any track query'
positionsnumber'Any query'

Exemplo

spotify.playlist.deletePlaylists('3cEYpjA9oz9GiPac4AsH4n', 'spotify:track:2DB2zVP1LVu6jjyrvqD44z', [0]);
  .then(data => {
    // do what you want with the data
  })

Executando os testes

Executando testes:

$ npm run test

Assistindo os testes:

$ npm run test:tdd

Cobrir os testes:

$ npm run test:coverage

Contribuição

Por favor CONTRIBUTING.md para obter detalhes sobre nosso código de conduta e o processo de envio de solicitações pull para nós.

Versionamento

Nós usamos SemVer para controle de versão. Para as versões disponíveis, consulte o tags on this repository.

Autor

| Tácio Antônio | - | Tácio Antônio

Veja também a lista de contributors que participaram deste projeto.

Licença

Este projeto está licenciado sob a licença MIT - consulte o LICENSE.md para detalhes.