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.Image 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; //returns the largest spotify.Image object belonging to the artist.
	
	console.log('Image URL: %s', image.imageURL);
	console.log('Image aspect ratio: %f', image.aspect);
	console.log('Image size: %s', image.aspect);
});

spotify.getPlaylistsForUser

Get an array of playlists for user with username.

spotify.getPlaylistsForUser(username, session, callback);

username string

The username of the user to request the playlists from.

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, see spotify.search for an explanation of partial items.

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

type string

The username of the user.

session.credential

type string

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

Add an event listener to the audio player.

audioPlayer.addEventListener(event, listener)

event string

The event linked to the event listener.

listener function

When an event is dispatched, the listener gets called with zero or more arguments depending on the event.

audioPlayer.playURI

Play the audio track belonging to the supplied Spotify track URI.

audioPlayer.playURI(uri, callback)

uri string

The URI belonging to the track to play.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

audioPlayer.seekToOffset

Skip the track to the specified offset.

audioPlayer.seekToOffset(offset, callback)

offset Number

The new playback position (offset) in seconds.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

audioPlayer.getIsPlaying

Request the current playback status.

audioPlayer.getIsPlaying(callback)

callback function

The callback gets two arguments error and status. The status value will be true if playing or false if paused / stopped.

audioPlayer.setIsPlaying

Set the current playback status. This can be seen as a method for pausing / resuming playback.

audioPlayer.setIsPlaying(status, callback)

status boolean

The new playback status.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

audioPlayer.getVolume

Request the playback volume.

audioPlayer.getVolume(callback)

callback function

The callback gets two arguments error and volume. The volume value will be a numeric value between 0.0 and 1.0.

audioPlayer.setVolume

Set the playback volume.

audioPlayer.setVolume(volume, callback)

volume Number

The new playback volume between 0.0 and 1.0.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

audioPlayer.getLoggedIn

Request the current login status of the audio player.

audioPlayer.getLoggedIn(callback)

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

audioPlayer.getCurrentTrack

Request information about the track that is currently playing.

audioPlayer.getCurrentTrack(callback)

callback function

The callback gets two arguments error and track. The track value will be an object literal with the track's metadata.

audioPlayer.getCurrentPlaybackPosition

Request the current playback position.

audioPlayer.getCurrentPlaybackPosition(callback)

callback function

The callback gets two arguments error and offset. The offset value will be a numeric value in seconds between 0.0 and the duration of the track.

Events

login

This event is dispatched when the player has logged in.

logout

This event is dispatched when the player is logged out.

permissionLost

This event is dispatched when the playback permission is lost. This happens mostly when the user plays a track on another device.

error

This event is dispatched whenever an error occurs in the audio player.

The listener method receives a single string argument error.

If no error event listener is found, the AudioPlayer will throw a JavaScript Error.

message

This event is dispatched when a message is sent by Spotify to the user. This message has to be shown to the user see the iOS SDK reference.

The listener method receives a single string argument message.

If no message event listener is found, the AudioPlayer will fire a standard JavaScript alert.

playbackStatus

This event is dispatched when the playback status has changed.

The listener method receives a single boolean argument status.

seekToOffset

This event is dispatched if the playback offset has changed "unnaturally".

The listener method receives a single Number argument offset.

spotify.Playlist

Methods

playlist.setName

Change the playlist's name.

playlist.setName(name, session, callback)

name string

The name of the playlist

session object

The user's spotify.Session object.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

playlist.setDescription

Change the playlist's description.

playlist.setDescription(description, session, callback)

description string

The playlist description

session object

The user's spotify.Session object.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

playlist.setCollaborative

Change the collaborative flag.

playlist.setCollaborative(collaborative, session, callback)

collaborative boolean

If the playlist should be collaborative.

session object

The user's spotify.Session object.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

playlist.addTracks

Add tracks to the playlist.

playlist.addTracks(tracks, session, callback)

tracks Array

An array of track Spotify URIs.

session object

The user's spotify.Session object.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

playlist.delete

Permanently delete the playlist.

playlist.delete(session, callback)

session object

The user's spotify.Session object.

callback function

The callback gets one argument error. The error argument will be null if successful or an Error object if something went wrong.

Properties

playlist.name

Type string

Name of the playlist

playlist.version

Type integer

A numeric value showing the version of the playlist. Higher value equals newer version.

playlist.uri

Type string

The Playlist's Spotify URI.

playlist.collaborative

Type boolean

Defines if the playlist is a collaborative playlist.

playlist.creator

Type string

The username of the user that created the playlist.

playlist.tracks

Type Array

An array of partial track objects holding the track's name and uri.

playlist.dateModified

Type Date

The date and time when the playlist was last modified.

spotify.Album

Properties

album.name

Type string

The name of the album.

album.uri

Type string

The Spotify URI belonging to the album.

album.sharingURL

Type string

The Spotify sharing URL (e.g., http://open.spotify.com/album/2bOPMrFFQ00pA4QzaBn16F)

album.externalIds

Type Array

External IDs belonging to the album, like the UPC code.

album.availableTerritories

Type Array

A list of ISO 3166 country codes.

album.artists

Type Array

A list of objects containing the name and Spotify uri of the artists belonging to the album.

album.tracks

Type Array

A list of objects containing the name and Spotify uri of the tracks on the album.

album.releaseDate

Type object

Holds the properties year, month and day.

album.type

Type string

The type of album. Possible values:

  • album
  • single
  • compilation
  • appearsOn

album.genres

Type Array

A list of genres belonging to the album.

album.covers

Type Array

A list of spotify.Image objects.

album.largestCover

Type spotify.Image

The largest cover image.

album.smallestCover

Type spotify.Image

The smallest cover image.

album.popularity

Type Number

A numeric value between 0.0 and 100.0, expressing the album's popularity.

spotify.Artist

Properties

artist.name

Type string

The name of the artist.

artist.uri

Type string

The Spotify URI belonging to the artist.

artist.sharingURL

Type string

The Spotify sharing URL (e.g., http://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt)

artist.genres

Type Array

A list of genres belonging to the artist.

artist.images

A list of spotify.Image objects.

Type Array

artist.smallestImage

Type spotify.Image

The smallest artist image.

artist.largestImage

Type spotify.Image

The largest artist image.

artist.popularity

Type Number

A numeric value between 0.0 and 100.0, expressing the artist's popularity.

spotify.Track

Properties

track.name

Type string

The name of the track.

track.uri

Type string

The Spotify URI belonging to the track.

track.sharingURL

Type string

The Spotify sharing URL (e.g., http://open.spotify.com/track/0bhCFkDynlihxlkI1nd4WZ)

track.previewURL

Type string

The URL of the track's preview mp3.

track.duration

Type Number

The duration of the track in seconds.

track.artists

Type Array

A list of objects containing the name and Spotify uri of the artists belonging to the track.

track.album

Type object

A partial object with holding the name and Spotify uri of the album where the track belongs to.

track.trackNumber

Type integer

The track's position on the disc.

track.discNumber

Type integer

The disc number of the track.

track.popularity

Type Number

A numeric value between 0.0 and 100.0, expressing the track's popularity.

track.flaggedExplicit

Type boolean

Value showing if the track has been flagged as explicit.

track.externalIds

Type Array

External IDs belonging to the album, like the UPC code.

track.availableTerritories

Type Array

A list of ISO 3166 country codes.

spotify.Image

Properties

image.imageURL

Type string

The URL of the image.

image.imageSize

Type object

An object with the properties width and height.

image.aspect

Type Number

A numeric value for the ratio between the width and height of the image.

Clone this wiki locally