Jeg har tidligere skrevet om hvordan du kunne bruge spotifys Metadata API igennem PHP – for at gøre denne tilgang lidt nemmere har jeg skrevet en simpel klasse som kan klare alt kommunikation med APIen, så slipper du for selv at skulle kode denne del.
Hent class.spotify.php
Du kan se min Spotify PHP klasse her
Eller download ZIP med dokumentation og klasse her: class.spotify.zip
Dokumentation for klassen
Grundlæggende kommer du i gang med klassen ved at gemme den i en fil fx class.spotify.php og inkludere denne:
1 2 3 4 |
<?php
require_once('class.spotify.php');
$spotify = new spotify();
?> |
Nu er du klar til at bruge klassen – alle resultater fra klassen returneres som et array.
search
Nå du skal bruge search metoden skal der minimum sendes to parametre med, keyword og typen (track, album, artist)
Søg efter kunstner
1 2 3 4 5 6 7 8 9 |
<?php
$spotify = new spotify();
try {
$results = $spotify->search('bruce springsteen','artist');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
Søg efter album
1 2 3 4 5 6 7 8 9 |
<?php
$spotify = new spotify();
try {
$results = $spotify->search('the rising','album');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
Søg efter track
1 2 3 4 5 6 7 8 9 |
<?php
$spotify = new spotify();
try {
$results = $spotify->search('the rising','track');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
Track eller album fra bestemt kunstner
Ønsker vi at begrænse resultaterne til en bestemt kunstner sendes denne med som 3. parameter:
1 2 3 4 5 6 7 8 9 |
<?php
$spotify = new spotify();
try {
$results = $spotify->search('the rising','track','bruce springsteen');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
Mere end 100 resultater
APIen returnerer som standard max 100 resultater – ønsker du flere end dette skal APIen kaldes flere gange – dette er bygget ind i klassen så du blot som 4 parametre sender ønsket antal resultater med fx 200:
1 2 3 4 5 6 7 8 9 |
<?php
$spotify = new spotify();
try {
$results = $spotify->search('the rising','track',NULL,200);
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
Så håndterer klassen automatisk flere kald til APIen
Territorial Restriction
Sange i spotify kan ikke altid spilles i alle lande – klassen her viser automatisk kun søgeresultater som kan afspilles i DK – ønskes resultater fra andre lande skal du fortælle klassen det sådan her:
1 2 3 4 5 6 7 8 9 10 |
<?php
$spotify = new spotify();
$spotify->countries = array('Worldwide','SE','DK','NO');
try {
$results = $spotify->search('the rising','track');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
?> |
countries skal være et array med iso landenavne – og bør altid indeholde Worldwide, da det er spotifys måde at sige “ingen begrænsning”
lookup
Med lookup kan du slå information om en given spotify url op, enten med en spotify url (fx http://open.spotify.com/track/4sbDUzlFlFt3rDpc7ORbNs) eller en spotify uri fx: spotify:track:4sbDUzlFlFt3rDpc7ORbNs – Det eneste du skal gøre er at kalde lookup med en parameter som er url eller uri- klassen håndterer selv konverteringen fra url til uri:
1 2 3 4 5 6 7 8 |
<?php
$spotify = new spotify();
try {
$results = $spotify->lookup('spotify:artist:3eqjTLE0HfPfh78zjh6TqT');
print_r($results);
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}?> |
Pingback: Søg i Spotify med PHP og Spotify Metadata API