Documentatie

Om gebruik te kunnen van de API heeft een guci en het wachtwoord in md5 formaat nodig.

Bent u niet thuis in het programmeren van PHP of andere talen dan kunt u onder downloads een applicatie vinden die bij een wijziging in een nowplaying.txt de data post naar de gekozen services

De api zelf

Alle aanvragen zijn moeten een post verzoek zijn.

De volgende velden bestaan er:
  • guci*
  • wachtwoord als md5*
  • artiest*
  • artiesttwitter
  • encrkey**
  • titel*
  • voor*
* is verplicht
** is verplicht bij shoutcast

Uitleg van de velden en de mogelijke waarden:

Veld Omschrijving Type
guci De guci code die je krijgt bij het aanmelden (ook te vinden onder settings) 40 characters ascii
wachtwoord als md5 het wachtwoord wat je ook gebruikt voor het inloggen als md5 (te vinden onder settings) 32 characters ascii
artiest De naam van de artiest ascii
artiesttwitter (optioneel) als de artiest een twitter account heeft die in onze database staat deze gebruiken ipv de naam(b.v. artiest is VanVelzen maar wordt weergegeven als @VanVelzenMusic) als je dit wil gebruiken dan deze waarde 1 maken.
titel titel van de plaat ascii
encrkey Bij het gebruik van de shoutcast service moet het wachtwoord worden gedecrypt. Bij het aanmelden van die servers moet er een key worden gegeven. Deze moet hier worden verstuurd. ascii
voor Geef aan naar welke services de now playing moet worden gestuurd Zie onderstaande tabel, tel de waarden bij elkaar op voor welke services (b.v. twitter en lastfm wordt 3. twitter en shoutcast wordt 5)


Service Waarde
Twitter 1
Last.FM 2
Shoutcast server 4 (nog niet geimplementeerd)
Tumblr 8 (nog niet geimplementeerd)

De post aanvraag moet gedaan worden naar http://api.depubliekeomroep.nl/anp/index.php

Hier onder volgt een voorbeeld code in PHP voor deze code moet cURL geinstaleerd zijn.

<?php
function http_post($url, $post) {
 $c = curl_init();
 curl_setopt($c, CURLOPT_URL, $url);

 curl_setopt($c, CURLOPT_POST, true);
 curl_setopt($c, CURLOPT_POSTFIELDS, $post);

 curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
 return curl_exec($c);
}

$fields = array(
            'guci'=>urlencode('22e00020e7c390a29527a83c5a9cd37e5355e452'),
            'wachtwoord'=>urlencode('b074aa7b31534778dafe64dc4b0bf828'),
            'artiest'=>urlencode('Muse'),
            'title'=>urlencode('Supermassive Black Hole'),
            'artiesttwitter'=>urlencode('1'),
            'encrkey'=>urlencode('zeergeheimesleutel'),
            'voor'=>urlencode('3')
        );

$url = 'http://api.depubliekeomroep.nl/anp/index.php';

echo http_post($url, http_build_query($fields));

?>

Artiesten twitter database api

Kijk welke twitter account bij een artiest hoort (mits opgenomen in onze database)
Gebruik: doe een get verzoek aan http://api.depubliekeomroep.nl/anp/artiest.php
met de variable artiest=<naam van artiest>
Het antwoord is het twitter account van de artiest (zonder http://www.twitter.com/)
Voorbeeld voor php:
<?php
function curl_get_file_contents($artiest)
    {
        $URL = "http://api.depubliekeomroep.nl/anp/artiest.php?artiest=" . urlencode($artiest);
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }

    $result = curl_get_file_contents("Muse");
    if ($result != FALSE) {
        //twitter account gevonden en $result bevat de naam.
    } else {
        //geen twitter account gevonden
    }
    ?>


Als er dus geen artiest kan worden gevonden krijg je niks terug.

Album Art viewer

Geef een url naar de albumart bijhorend bij een artiest/track combinatie
Gebruik: doe een get verzoek aan http://api.depubliekeomroep.nl/anp/albumart.php
met de variable artiest=<naam van artiest>&titel=<titel van de track>
optioneel kun je nog size= toevoegen zie de tabel hier onder welke waarde je kunt kiezen.
Vul je niks in dan krijg je automatisch als formaat large terug.

Het antwoord is een url van het plaatje
Voorbeeld voor php:
<?php
function curl_get_file_contents($artiest,$titel,$size = "large")
    {
        $URL = "http://api.depubliekeomroep.nl/anp/albumart.php?artiest=" .
         urlencode($artiest) . "&titel=". urlencode($titel) 
        ."&size=". urlencode($size);
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }

    $result = curl_get_file_contents("Muse","Bliss");
    if ($result != FALSE) {
        //albumart gevonden account gevonden en $result bevat de url naar het 
        // plaatje
        print "<img src=\" " . $result . "\">";
    } else {
        //geen albumart gevonden
    }
    ?>

of wat ook werkt:
<?php
    print "<img src=\"" . file_get_contents("http://api.depubliekeomroep.nl
    /anp/albumart.php?artiest=muse&titel=bliss&size=small") . "\">";
?>


Als er geen albumart gevonden is krijg je niks terug.

Grotes van de plaatjes

Size waarde Grote
small 64x64 px
medium 126x126 px
large 174x174 px
extralarge 300x300 px

Login :