Hack de Overheid!

Data

Datablog: Radiobox2 API

In Juni hebben we al even gekeken naar de data sets van de Publieke Omroepen. Nu gaan we er eentje dieper uitlichten: De informatie die ontsloten wordt in het metadatasysteem van de radio. Deze heet de Radiobox. Zo te zien kunnen uitzendingen opgehaald worden vanaf maart 2010.

Data model

De handleiding van de Radiobox is vrij uitgebreid. Dit komt ook omdat er veel entiteiten ontsloten worden. Om inzichtelijk te maken hoe het feitelijke informatiemodel in elkaar steekt hebben we de volgende diagram gemaakt (om de boel te simplificeren hebben we een aantal relaties er uit gelaten — het gaat hier meer om de big picture.)

Kanalen

Om alle kanalen op te halen die in het systeem zitten, moet je de volgende API call doen:

https://radiobox2.omroep.nl/channel/search.json?q=

Het ontbreken van een zoekterm zorgt ervoor dat alle kanalen worden teruggegeven.

Zoek operatoren

De Radiobox API heeft specifieke operatoren om te zoeken, die grote overeenkomsten vertonen met constructies in SQL. De meeste constructies staat hier uitstekend beschreven. Wel even opletten bij de LIKE operator: Je moet zelf de % toevoegen. Om naar alle items met Michael Kiwanuka te zoeken roep je dus de volgende URL aan:

https://radiobox2.omroep.nl/item/search.json?q=description~’%kiwanuka%’

Nu en Toen

De meeste search API calls hebben een startdatetime en een stopdatetime veld. Op de documentatie van het Track model vind je goede voorbeelden van hoe je de track moet opvragen die op dit moment op een kanaal speelt, of hoe je een track opvraagt die in een bepaalde tijd speelde.

JSON en Cross-Domain Policy

De meeste API calls zijn ook cross-domain via JSON op te vragen; handig voor JavaScript apps dus! De API call om tracks op te halen vormt hierop echter een uitzondering. Wil je deze ophalen dan moet je even een (serverside) proxietje schrijven die dat voor je regelt.

Demo

We hebben een app in elkaar geklust die een (near) real time overzicht biedt van wat er nu op de publieke radio speelt. De code staat in een GitHub repo.

Hackathon

Op 9 november a.s. organiseren we Hackathon Publieke Omroep -mogelijk gemaakt door NPO en Beeld en Geluid op het mediapark in Hilversum. TV kijken en radio luisteren kan nòg leuker en de omroep is dan ook een beetje van ons. Informatie over inschrijvingen volgt.

The following two tabs change content below.
Breyten is developer bij Open State Foundation en werkt in die hoedanigheid aan diverse projecten, waaronder Politwoops.

3 comments on “Datablog: Radiobox2 API
  1. Hartelijk dank voor de info

    drie opmerkingen
    – de omroep heeft ook last van not-invented-here:
    http://denachtklinktanders.vara.nl/gemist niet up to date 2 uur na uitzending, terwijl
    http://radiobox2.omroep.nl/rss/ug/programme/34.rss al wel actueel is
    – de link op deze pagina loopt echter via http://nl.sitestat.com
    – met een directe verwijzing naar http://download.omroep.nl/audiologging/r1/2013/09/26/0200_0559_de_n8_klinkt_andrs.mp3 (duidelijker kan in mijn opinie niet)
    – kunnen ze de serverlog niet gebruiken voor de site statistieken?
    – open data? dan zou deze ‘audiologging’ ook gewoon op een pagina kunnen?
    – security by obfuscation?

    “Uw e-mailadres zal nooit gepubliceerd of gedeeld worden” maar wel over een onbeveiligde verbinding uitgewisseld worden met ‘onze’ server.

    ip adres bekend in de ‘directe verwijzing’ serverlog

  2. Hi Heinze

    Sitestat wordt gebruikt om dat de statistieken voor alle programma’s en omroepen op 1 plek moeten zijn. Vandaar. Serverlogging zou niet helpen, serverside scripting wel.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.