A simplified interface to interact with the Spotify Web API.
npm install spotify-node-wrapperbash
npm install spotify-node-wrapper
`
Usage
To use the Spotify Node Wrapper in your Node.js project, follow these steps:
1. Require the package in your code:
`javascript
import { getSpotifyAccessToken, getAlbum } from 'spotify-node-wrapper';
`
2. Obtain an access token from Spotify using the necessary authentication flow. This access token is required to make authorized requests to the Spotify API.
`javascript
const accessToken = await getSpotifyAccessToken('your-client-id', 'your-client-secret', 'your-redirect-uri')
`
3. Call the desired function, passing in the access token and any other necessary parameters. For example, to retrieve an album:
`javascript
const albumId = 'your-album-id';
getAlbum(accessToken, albumId)
.then((album) => {
// Handle the album data
console.log(album);
})
.catch((error) => {
// Handle any errors
console.error(error);
});
`
You can similarly call other functions, passing in the access token and relevant parameters.
4. Make sure you handle asynchronous operations properly by using async/await or promises, depending on your preference and the capabilities of the functions you are using.
Make sure to replace 'your-album-id' with the actual values for your use case. Additionally, ensure proper error handling in your code to handle any potential errors that may occur during the API requests.
API Reference
Documentation in progress. Refer to the provided code examples for guidance until full documentation is available.
$3
Obtain a Spotify access token using the client ID, client secret, and redirect URI.
`javascript
// Example usage
getSpotifyAccessToken('your_client_id', 'your_client_secret', 'your_redirect_uri')
.then(token => console.log('Access Token:', token));
`
$3
Fetch detailed information about a specific album on Spotify.
`javascript
// Example usage
getAlbum('your_access_token', 'album_id')
.then(album => console.log(album));
`
$3
Retrieve details for multiple albums in a single request.
`javascript
// Example usage
getSeveralAlbums('your_access_token', ['album_id1', 'album_id2'])
.then(albums => console.log(albums));
`
$3
Get the tracks from a specific album.
`javascript
// Example usage
getAlbumTracks('your_access_token', 'album_id')
.then(tracks => console.log(tracks));
`
$3
List albums saved in the user's Spotify library.
`javascript
// Example usage
getUsersSavedAlbums('your_access_token')
.then(albums => console.log(albums))
`
$3
Save one or more albums to the user's Spotify library.
`javascript
saveAlbumsForCurrentUser('your_access_token', ['album_id1', 'album_id2'])
.then(response => console.log('Albums Saved:', response))
`
$3
Remove one or more albums from the user's Spotify library.
`javascript
removeUsersSavedAlbums('your_access_token', ['album_id1', 'album_id2'])
.then(response => console.log('Albums Removed:', response))
`
$3
Check if specific albums are in the user's Spotify library.
`javascript
checkUsersSavedAlbums('your_access_token', ['album_id1', 'album_id2'])
.then(response => console.log('Albums in Library:', response))
`
$3
Retrieve a list of newly released albums on Spotify.
`javascript
getNewReleases('your_access_token')
.then(response => console.log('New Releases:', response))
`
$3
Fetch detailed information about a specific artist.
`javascript
getArtist('your_access_token', 'artist_id')
.then(response => console.log('Artist Details:', response))
`
$3
Get details for multiple artists in a single request.
`javascript
getSeveralArtists('your_access_token', ['artist_id1', 'artist_id2'])
.then(response => console.log('Artists Details:', response))
`
$3
List the albums of a specific artist.
`javascript
getArtistsAlbums('your_access_token', 'artist_id')
.then(response => console.log('Artist Albums:', response))
`
$3
Retrieve the top tracks of a specific artist.
`javascript
// Yet to provide example usage
`
$3
Get a list of artists related to a specific artist.
`javascript
// Yet to provide example usage
`
$3
Get detailed information about a specific audiobook.
`javascript
// Yet to provide example usage
`
$3
Retrieve details for multiple audiobooks in a single request.
`javascript
// Yet to provide example usage
`
$3
Fetch the chapters of a specific audiobook.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of audiobooks saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Saves one or more audiobooks to the user's library.
`javascript
// Yet to provide example usage
`
$3
Removes one or more audiobooks from the user's library.
`javascript
// Yet to provide example usage
`
$3
Checks if one or more audiobooks are saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about multiple browse categories in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific browse category.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific chapter of an audiobook.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about multiple chapters of an audiobook in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific episode of a show or podcast.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about multiple episodes of shows or podcasts in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of episodes saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Saves one or more episodes to the user's library.
`javascript
// Yet to provide example usage
`
$3
Removes one or more episodes from the user's library.
`javascript
// Yet to provide example usage
`
$3
Checks if one or more episodes are saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of available genre seeds for recommendations.
`javascript
// Yet to provide example usage
`
$3
Retrieves the next set of items from a previously fetched paginated endpoint.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of available markets for playback.
`javascript
// Yet to provide example usage
`
$3
Retrieves the playback state, including the currently playing track, from the user's active device.
`javascript
// Yet to provide example usage
`
$3
Transfers playback to a different device.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of available devices for playback.
`javascript
// Yet to provide example usage
`
$3
Retrieves the currently playing track from the user's active device.
`javascript
// Yet to provide example usage
`
$3
Starts or resumes playback on the user's active device.
`javascript
// Yet to provide example usage
`
$3
Pauses playback on the user's active device.
`javascript
// Yet to provide example usage
`
$3
Skips to the next track in the user's playback queue.
`javascript
// Yet to provide example usage
`
$3
Skips to the previous track in the user's playback queue.
`javascript
// Yet to provide example usage
`
$3
Seeks to a specified position in the currently playing track.
`javascript
// Yet to provide example usage
`
$3
Sets the repeat mode for the user's playback.
`javascript
// Yet to provide example usage
`
$3
Sets the volume for the user's active device.
`javascript
// Yet to provide example usage
`
$3
Toggles the shuffle mode for the user's playback.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of the user's recently played tracks.
`javascript
// Yet to provide example usage
`
$3
Retrieves the user's playback queue.
`javascript
// Yet to provide example usage
`
$3
Adds an item to the user's playback queue.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Changes the details of a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Retrieves the items (tracks or episodes) of a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Updates the items (tracks or episodes) of a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Adds items (tracks or episodes) to a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Removes items (tracks or episodes) from a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of playlists owned or followed by the current user.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of playlists owned or followed by a specific user.
`javascript
// Yet to provide example usage
`
$3
Creates a new playlist for the current user.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of featured playlists.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of playlists within a specific category.
`javascript
// Yet to provide example usage
`
$3
Retrieves the cover image of a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Adds a custom cover image to a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Searches for items (tracks, albums, artists, playlists, etc.) based on a query.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific show or podcast.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about multiple shows or podcasts in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves the episodes of a specific show or podcast.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of shows or podcasts saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Saves one or more shows or podcasts to the user's library.
`javascript
// Yet to provide example usage
`
$3
Removes one or more shows or podcasts from the user's library.
`javascript
// Yet to provide example usage
`
$3
Checks if one or more shows or podcasts are saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about a specific track.
`javascript
// Yet to provide example usage
`
$3
Retrieves detailed information about multiple tracks in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of tracks saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Saves one or more tracks to the user's library.
`javascript
// Yet to provide example usage
`
$3
Removes one or more tracks from the user's library.
`javascript
// Yet to provide example usage
`
$3
Checks if one or more tracks are saved in the user's library.
`javascript
// Yet to provide example usage
`
$3
Retrieves audio features (such as danceability, tempo, etc.) for multiple tracks in a single request.
`javascript
// Yet to provide example usage
`
$3
Retrieves audio features (such as danceability, tempo, etc.) for a specific track.
`javascript
// Yet to provide example usage
`
$3
Retrieves a detailed audio analysis of a specific track.
`javascript
// Yet to provide example usage
`
$3
Generates a list of recommended tracks based on a variety of seeds (such as artists, genres, etc.).
`javascript
// Yet to provide example usage
`
$3
Retrieves the current user's profile information.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of the user's top tracks or artists.
`javascript
// Yet to provide example usage
`
$3
Retrieves the profile information of a specific user.
`javascript
// Yet to provide example usage
`
$3
Follows a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Unfollows a specific playlist.
`javascript
// Yet to provide example usage
`
$3
Retrieves a list of artists followed by the user.
`javascript
// Yet to provide example usage
`
$3
Follows one or more artists or users.
`javascript
// Yet to provide example usage
`
$3
Unfollows one or more artists or users.
`javascript
// Yet to provide example usage
`
$3
Checks if the user follows one or more artists or users.
`javascript
// Yet to provide example usage
`
$3
Checks if one or more users follow a specific playlist.
`javascript
// Yet to provide example usage
``