spotify_ex v0.1.1 Spotify.Playlist
Playlist API endpoints
API calls in this module require valid Authorization headers. See the OAuth section for more details.
Summary
Functions
Add one or more tracks to a user’s playlist. Spotify Documentation
Get a category’s playlists. Spotify Documentation
Change a playlist’s name and public/private state. (The user must, of course, own the playlist.) Spotify Documentation
Check to see if one or more Spotify users are following a specified playlist. Spotify Documentation
Create a playlist for a Spotify user. (The playlist will be empty until you add tracks.) Spotify Documentation
Get a list of featured playlists. Spotify Documenation
Add the current user as a follower of a playlist. Spotify Documentation
Get a playlist owned by a Spotify user. Spotify Documentation
Get full details of the tracks of a playlist owned by a Spotify user. Spotify Documentation
Get a list of the playlists owned or followed by a Spotify user. Spotify Documentation
Remove one or more tracks from a user’s playlist. Spotify Documentation
Reorder a track or a group of tracks in a playlist. Spotify Documentation
Replace all the tracks in a playlist, overwriting its existing tracks. This powerful request can be useful for replacing tracks, re-ordering existing tracks, or clearing the playlist. Spotify Documentation
Search for a playlist. Spotify Documentation
Remove the current user as a follower of a playlist. Spotify Documentation
Functions
Add one or more tracks to a user’s playlist. Spotify Documentation
Method: POST
Optional Params: uris, position
You can also pass the URI param in the request body. Use add_tracks/2. See Spotify docs.
iex> Spotify.Playlist.add_tracks("123", "456", uris: "spotify:track:4iV5W9uYEdYUVa79Axb7Rh")
"https://api.spotify.com/v1/users/123/playlists/456/tracks?uris=spotify%3Atrack%3A4iV5W9uYEdYUVa79Axb7Rh"
iex> Spotify.Playlist.add_tracks("123", "456") # Must send request data using this function
"https://api.spotify.com/v1/users/123/playlists/456/tracks"
Get a category’s playlists. Spotify Documentation
Valid params: country, limit, offset
Method: GET
Example:
iex> Spotify.Playlist.by_category("123")
"https://api.spotify.com/v1/browse/categories/123/playlists"
iex> Spotify.Playlist.by_category("123", [country: "US", limit: 5])
"https://api.spotify.com/v1/browse/categories/123/playlists?country=US&limit=5"
Change a playlist’s name and public/private state. (The user must, of course, own the playlist.) Spotify Documentation
Method: PUT
Request Data): name, public
iex> Spotify.Playlist.change_playlist("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456"
Check to see if one or more Spotify users are following a specified playlist. Spotify Documentation
Method: GET
**Query Params: ids
iex> Spotify.Playlist.check_followers("123", "456", ids: "foo,bar")
"https://api.spotify.com/v1/users/123/playlists/456/followers/contains?ids=foo%2Cbar"
Create a playlist for a Spotify user. (The playlist will be empty until you add tracks.) Spotify Documentation
Method: POST
Body Params: name, public
iex> Spotify.Playlist.create_playlist("123")
"https://api.spotify.com/v1/users/123/playlists"
Get a list of featured playlists. Spotify Documenation
Valid params: locale, country, timestamp, limit, offset
Method: GET
iex> Spotify.Playlist.featured
"https://api.spotify.com/v1/browse/featured-playlists"
iex> Spotify.Playlist.featured(country: "US")
"https://api.spotify.com/v1/browse/featured-playlists?country=US"
Add the current user as a follower of a playlist. Spotify Documentation
Optional Body Params: public
Method: PUT
iex> Spotify.Playlist.follow_playlist("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/followers"
Get a playlist owned by a Spotify user. Spotify Documentation
Method: GET
**Optional Params fields, market
iex> Spotify.Playlist.get_playlist("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456"
iex> Spotify.Playlist.get_playlist("123", "456", market: "foo")
"https://api.spotify.com/v1/users/123/playlists/456?market=foo"
Get full details of the tracks of a playlist owned by a Spotify user. Spotify Documentation
Method: GET
**Optional Params fields, market, limit, offset
iex> Spotify.Playlist.get_playlist_tracks("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/tracks"
iex> Spotify.Playlist.get_playlist_tracks("123", "456", limit: 5, offset: 5)
"https://api.spotify.com/v1/users/123/playlists/456/tracks?limit=5&offset=5"
Get a list of the playlists owned or followed by a Spotify user. Spotify Documentation
Method: GET
** Optional Params: limit, offset
iex> Spotify.Playlist.get_users_playlists("123")
"https://api.spotify.com/v1/users/123/playlists"
iex> Spotify.Playlist.get_users_playlists("123", limit: 5)
"https://api.spotify.com/v1/users/123/playlists?limit=5"
Remove one or more tracks from a user’s playlist. Spotify Documentation
Method: DELETE
Request Data: tracks
iex> Spotify.Playlist.remove_tracks("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/tracks"
Reorder a track or a group of tracks in a playlist. Spotify Documentation
Method: PUT
Required Request Body Data: range_start, insert_before
Optional Request Body Data: range_length, snapshot_id
iex> Spotify.Playlist.reorder_tracks("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/tracks"
Replace all the tracks in a playlist, overwriting its existing tracks. This powerful request can be useful for replacing tracks, re-ordering existing tracks, or clearing the playlist. Spotify Documentation
Method: PUT
Optional Query Params: uris
You can also pass the URI param in the request body. Use replace_tracks/2. See Spotify docs.
iex> Spotify.Playlist.replace_tracks("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/tracks" # Must send request data
iex> Spotify.Playlist.replace_tracks("123", "456", uris: "spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:track:adkjaklsd94h")
"https://api.spotify.com/v1/users/123/playlists/456/tracks?uris=spotify%3Atrack%3A4iV5W9uYEdYUVa79Axb7Rh%2Cspotify%3Atrack%3Aadkjaklsd94h"
Search for a playlist. Spotify Documentation
Method: GET
Required Params: q
Optional Params: limit, offset, market
iex> Spotify.Playlist.search(q: "foo", limit: 5)
"https://api.spotify.com/v1/search?type=playlist&q=foo&limit=5"
Remove the current user as a follower of a playlist. Spotify Documentation
Method: DELETE
iex> Spotify.Playlist.follow_playlist("123", "456")
"https://api.spotify.com/v1/users/123/playlists/456/followers"