Despre tinySong şi Grooveshark am scris aproximativ acum un an. Un articol de astăzi de pe Mashable evidenţiază câteva noutăţi. Mai întâi că există o aplicaţie Facebook (numită Share Song) care face posibilă recomandarea de piese între prieteni. Este o mişcare care sunt sigur că va face serviciul Grooveshark mai cunoscut, dat fiind că – am testat – cu atâta uşurinţă poţi prin această aplicaţie Facebook să trimiţi o piesă frumoasă unui prieten. Piesa apare pe “perete” iar ascultarea se face chiar acolo (un mic flash) şi nu scoţându-te într-o altă pagină web. Există apoi un plugin WordPress pe care nu am ajuns să îl testez.
În fine, a treia noutate este un API pentru tinySong. Documentaţia se reduce la o pagină, funcţionarea fiind foarte simplă. Atât de simplă încât m-am gândit să o exemplific printr-o “webaplicaţie” (e pretenţios spus, dar de fapt e doar o demonstraţie de cum se foloseşte un API, pentru cei care se tot minunează ce e acela API). Am scris deci câteva rânduri PHP care i-au ceea ce s-a indicat printr-un formular. Am pus apoi plus în loc de spaţii, pentru a respecta cerinţele (http://tinysong.com/method/Search+Terms) şi apoi am apelat URL-ul folosind ca metodă “s” pentru a obţine o listă. Am limitat la 10. Am parcurs-o, “spart” după delimitatorii de rigoare (enter, apoi punct şi virgulă) şi am obţinut ce aveam nevoie: link-urile spre piese. Subliniez: de dragul demonstraţiei am lăsat codul minimalist, fără a verifica posibilele cazuri de eroare şi fără să fac “frumoasă” aplicaţia. Ce a ieşit puteţi vedea aici. Scrieţi de exemplu sting sau poker face sau altele. Nu va merge orice din motivele expuse anterior. Iată codul:
[PHP]
Aţi căutat „.$cautare.”.
„;
$cautare=str_replace(” „,”+”,$cautare);
$pagina = „http://tinysong.com/s/”.$cautare.”?limit=10″;
$continut = file_get_contents($pagina);
$piese = split(„\n”,$continut);
foreach($piese as $x){
$detalii = split(„; „,$x);
echo $detalii[4].”: „.$detalii[2].”
„;
}
}
?>
[/PHP]
Probez acest cod si-mi da eroare; imi arata imaginea cautare dar si multe erori. Nu inteleg de ati postat asta?
Cand a fost scris, codul mergea. Intre timp se cere o cheie pentru API. Daca nu s-au schimbat si altele.