1. Go to this page and download the library: Download aslamhus/spotify-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aslamhus / spotify-client example snippets
use Aslamhus\SpotifyClient\Spotify;
use Aslamhus\SpotifyClient\SpotifyClient;
use Aslamhus\SpotifyClient\Auth\ClientCredentials;
// Initialize the Spotify API client with your client id and secret
$client = new SpotifyClient('your-client-id', 'your-client-secret');
// Choose your authorization flow. In this case we use Client Credentials
$credentials = new ClientCredentials($client);
// pass the token into a new Spotify class
$client = new Spotify($credentials->getToken(), $client);
// You're ready to go!
use Aslamhus\SpotifyClient\Auth\AuthorizationCode;
$url = AuthorizationCode::getAuthorizeUrl('your-client-id', 'http://localhost:8000/callback', 'user-read-private user-read-email');
// user lands on the redirect uri after successful login
$code = $_GET['code'];
$client = new SpotifyClient('your-client-id', 'your-client-secret');
$credentials = new AuthorizationCode($client, $code, 'http://localhost:8000/callback');
// pass the token and client to the Spotify class
$spotify = new Spotify($credentials->getToken(), $client);
// you can now access previously restricted resources
use Aslamhus\Spotify\Auth\AccessToken;
$token = new AccessToken([
'access_token' => '',
'token_type' => 'Bearer',
'expires_in' => 3600,
'scope' => 'user-read-email user-read-private'
'refresh_token' => ''
]);
$spotify = new Spotify($token, $client);
// Example: Get artist information
$artistData = $spotify->get('artists/3WrFJ7ztbogyGnTHbHJFl2');
// Example: Search for artists with a query
$search = new Search($spotify);
$search-exec('Steely Dan', 'artist, track');
// get an associative array of all the search results, i.e. ['tracks' => SearchResult, 'artists' => SearchResult]
$searchResults = $search->getAllResults();
// get the search result items for tracks
$trackItems = $searchResults['tracks']->getItems();
$search->exec('Pink Floyd', 'artist, track');
// get a SearchResult object
$searchResult = $search->getResultsForType('track');
// SearchResult objects are json serializable, so you can print them to json
echo json_encode($searchResult, JSON_PRETTY_PRINT);
// You can also get the search items. In this case, a Tracks object is returned
$tracks = $searchResult->getItems();
// print the track names
print_r($tracks->getTrackNames())
// set the result set limit to 10
$search->exec('Steely Dan', 'artist', 10);
$artistResult = $search->getResultsForType('artist');
if($artistResult->hasNext()){
// get the next 10 results
$artistResult->next();
}
// now the search result will have 10 new items appended
count($artistResult->getItems()); // returns 10
use Aslamhus\SpotifyClient\Artist\Artist;
// create Artist object
$artists = new Artist($spotify, $artistId);
// get all albums for artist
$albums = $artists->getAlbums();
$tracks = $albums[0]->getTracks();
use Aslamhus\SpotifyClient\Album\Album;
$album = new Album($spotify, '4aawyAB9vmqN3uQ7FjRGTy')
// fetch the album data
$album->getData();
// fetch the album tracks
$album->getTracks();
$spotify = new Spotify($token, $client);
$user = new User($spotify);
$playlist = new Playlist($spotify, $user, ['id' => 'my-playlist-id-string']);
$playlist->getData();
// all entities are json serializable
echo json_encode($playlist);
$track = new Track($spotify, '5xxumuSMspEXt19CGfeiD2');
$playlist->addTrack([$track]);
$track = new Track($spotify, '5xxumuSMspEXt19CGfeiD2');
$playlist->addTrack([$track], 3);
$tracks = new Tracks([]);
$ids = ['5xxumuSMspEXt19CGfeiD2','6rqhFgbbKwnb9MLmUQDhG6'];
foreach($ids as $id){
$tracks->addTrack(new Track($spotify, $id));
}
$playlist->addTracks($tracks);
$tracksToDelete = $playlist->tracks->findTracksByName('Lazy Day');
// returns null if no tracks found
if($trackToDelete) {
$playlist->removeTracks($tracksToDelete);
}
$playlist = new Playlist($this->spotify, $this->user, ['id' => 'playlist-id-string']);
$playlist->unfollow();