Skip to content
Tim Flapper edited this page May 4, 2014 · 33 revisions

Cordova Spotify Plugin API

Table of Contents

spotify API

spotify.Session API

spotify.AudioPlayer API

spotify.Playlist API

spotify.Album API

spotify.Artist API

spotify.Track API

spotify

Methods

spotify.authenticate

Authenticate the user with the Spotify API

spotify.authenticate(clientId, tokenExchangeURL, [scopes], callback)

clientId string

the clientId supplied by Spotify.

tokenExchangeURL string

The URL for your token exchange service. See setting up a token exchange service

scopes [optional] array

Custom scopes to request from the Spotify authentication service

callback function

The callback gets two arguments error and session. session is a spotify.Session object.

spotify.search

Search albums, artists or tracks. Return a maximum of 20 items. Use multiple requests with offset to receive more results.

spotify.search(query, searchType, [offset], session, callback)

query string

The query to search for.

searchType string

this can be one of three strings:

  • artist to perform an artist search.
  • album to perform an album search.
  • track to perform a track search.

offset [optional] integer

The starting index of the search results. If omitted the search will start from the first entry.

session spotify.Session

The spotify.Session object to use for authentication.

callback function

The callback gets two arguments error and result. result is an array of partial items. Each item has the following properties:

  • name. The name of the item.
  • uri. The URI of the item.

Use the uri with the correct spotify object to promote a partial item to a full item.

For Example (Get the largest image for an artist from the search results):

var session = ...a valid spotify.Session object...
var item = ...a single artist search item.....

spotify.Artist(item.uri, session, function(error, artist) {
	var image = artist.largestImage;
	
	console.log('Image URL: %s', image.imageURL);
	console.log('Image aspect ratio: %f', image.aspect);
	console.log('Image size: %s', image.aspect);
});

spotify.getPlaylistsForUser

spotify.Session

Normally a spotify.Session object is returned from spotify.authenticate() but you can use the spotify.Session object to store the session for later use. A session is valid for 24 hours after which the user will need to login again.

var session = spotify.Session({username: 'someUsername', credentials: 'AFD42....GD43'});

Properties

session.username

The username of the user.

session.credential

An access token to verify the session.

spotify.AudioPlayer

The constructor for a new spotify.AudioPlayer object.

spotify.AudioPlayer(companyName, appName, session, callback)

companyName string

Your company name

appName string

Your application name

session object

The user's spotify.Session object.

callback function

The callback gets two arguments error and an spotify.AudioPlayer object, ready to start playing tracks.

Example

These examples show how to construct a spotify.AudioPlayer and play a track.

spotify.AudioPlayer('Your-Company-Name', 'Your-App-Name', session, function(error, audioPlayer) {
	audioPlayer.playURI('spotify:track:6JEK0CvvjDjjMUBFoXShNZ');
});

Methods

audioPlayer.addEventListener

audioPlayer.playURI

audioPlayer.seekToOffset

audioPlayer.getIsPlaying

audioPlayer.setIsPlaying

audioPlayer.setVolume

audioPlayer.getLoggedIn

audioPlayer.getCurrentTrack

audioPlayer.getCurrentPlaybackPosition

Events

login

logout

permissionLost

error

message

playbackStatus

seekToOffset

spotify.Playlist

Methods

playlist.setName

playlist.setDescription

playlist.setCollaborative

playlist.addTracks

playlist.delete

Properties

playlist.name

playlist.version

playlist.uri

playlist.collaborative

playlist.creator

playlist.tracks

playlist.dateModified

spotify.Album

Properties

album.name

album.uri

album.sharingURL

album.externalIds

album.availableTerritories

album.artists

album.tracks

album.releaseDate

album.type

album.genres

album.covers

album.largestCover

album.smallestCover

album.popularity

spotify.Artist

Properties

artist.name

artist.uri

artist.sharingURL

artist.genres

artist.images

artist.smallestImage

artist.largestImage

artist.popularity

spotify.Track

Properties

track.name

track.uri

track.sharingURL

track.previewURL

track.duration

track.artists

track.album

track.trackNumber

track.discNumber

track.popularity

track.flaggedExplicit

track.externalIds

track.availableTerritories

Clone this wiki locally