NAME
WWW::Spotify - Spotify Web API Wrapper
VERSION
version 0.003
SYNOPSIS
use WWW::Spotify;
my $spotify = WWW::Spotify->new();
my $result;
$result = $spotify->album('0sNOF9WDwhWunNAHPD3Baj');
# $result is a json structure, you can operate on it directly
# or you can use the "get" method see below
$result = $spotify->albums( '41MnTivkwTO3UUJ8DrqEJJ,6JWc4iAiJ9FjyK0B59ABb4,6UXCm6bOO4gFlDQZV5yL37' );
$result = $spotify->albums_tracks( '6akEvsycLGftJxYudPjmqK',
{
limit => 0,
offset => 1
}
);
$result = $spotify->artist( '0LcJLqbBmaGUft1e9Mm8HV' );
my $artists_multiple = '0oSGxfWSnnOXhD2fKuz2Gy,3dBVyJ7JuOMt4GE9607Qin';
$result = $spotify->artists( $artists_multiple );
$result = $spotify->artist_albums( '1vCWHaC5f2uS3yhpwWbIA6' ,
{ album_type => 'single',
# country => 'US',
limit => 2,
offset => 0
} );
$result = $spotify->track( '0eGsygTp906u18L0Oimnem' );
$result = $spotify->tracks( '0eGsygTp906u18L0Oimnem,1lDWb6b6ieDQ2xT7ewTC3G' );
$result = $spotify->artist_top_tracks( '43ZHCT0cAZBISjO8DG9PnE', # artist id
'SE' # country
);
$result = $spotify->search(
'tania bowra' ,
'artist' ,
{ limit => 15 , offset => 0 }
);
$result = $spotify->user( 'glennpmcdonald' );
DESCRIPTION
Wrapper for the Spotify Web API.
https://developer.spotify.com/web-api/
Have access to a JSON viewer to help develop and debug. The Chrome JSON viewer is very good and provides the exact path of the item within the JSON in the lower left of the screen as you mouse over an element.
NAME
WWW::Spotify
METHODS
get
Returns a specific item or array of items from the JSON result of the last action.
$result = $spotify->search(
'tania bowra' ,
'artist' ,
{ limit => 15 , offset => 0 }
);
my $image_url = $spotify->get( 'artists.items[0].images[0].url' );
JSON::Path is the underlying library that actually parses the JSON.
album
equivalent to /v1/albums/{id}
used album vs alubms since it is a singlar request
albums
equivalent to /v1/albums?ids={ids}
albums_tracks
equivalent to /v1/albums/{id}/tracks
artist
equivalent to /v1/artists/{id}
used artist vs artists since it is a singlar request and avoid collision with "artists" method
artists
equivalent to /v1/artists?ids={ids}
artist_albums
equivalent to /v1/artists/{id}/albums
artist_top_tracks
equivalent to /v1/artists/{id}/top-tracks
artist_related_artists
equivalent to /v1/artists/{id}/related-artists
search
equivalent to /v1/search?type=album (etc)
track
equivalent to /v1/tracks/{id}
tracks
equivalent to /v1/tracks?ids={ids}
browse_featured_playlists
equivalent to /v1/browse/featured-playlists
requires OAuth
browse_new_releases
equivalent to /v1/browse/new-releases
requires OAuth
user
equivalent to /user
oauth_client_id
needed for requests that require OAuth, see Spotify API documentation for more information
$spotify->oauth_client_id('2xfjijkcjidjkfdi');
Can also be set via environment variable, SPOTIFY_CLIENT_ID
oauth_client_secret
needed for requests that require OAuth, see Spotify API documentation for more information
$spotify->oauth_client_secret('2xfjijkcjidjkfdi');
Can also be set via environment variable, SPOTIFY_CLIENT_SECRET
THANKS
Paul Lamere at The Echo Nest / Spotify
All the great Perl community members that keep Perl fun
AUTHOR
Aaron Johnson <aaronjjohnson@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Aaron Johnson.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.