Aan de slag met Google Agenda-programmering
NieuwsDe meeste mensen zien Google als 'slechts' een zoekbedrijf, maar in de afgelopen jaren is het begonnen met het aanbieden van gratis versies van applicaties die voorheen alleen beschikbaar waren als standalone desktop-programma's.
Het aantal mensen dat Google gebruikt voor e-mail, planning, tekstverwerking en het maken van spreadsheets wordt steeds groter, maar websites zijn slechts één manier om al deze applicaties te gebruiken.
Achter de schermen is het meeste van wat via webpagina's beschikbaar is van Google ook beschikbaar via programmering.
Wat zijn webservices?
Webservices zijn verwant aan zeer eenvoudige websites: sites die zijn ontworpen om te worden gebruikt door computers in plaats van mensen.
Stel je voor dat je een script schrijft dat een webservice aanroept. Het script maakt een 'verzoek' naar de service door informatie (meestal in XML) naar een webadres te verzenden. De service reageert meestal met wat XML-tekst in plaats van een HTML-webpagina te retourneren.
Een zoekmachine kan u bijvoorbeeld toestaan sommige zoektermen te verzenden en te reageren op berichten met een XML-bestand met de namen en locaties van webpagina's die voldoen aan uw criteria.
Dat is een eenvoudige zaak, maar omdat websites krachtiger zijn geworden en vergelijkbaar zijn met desktoptoepassingen, zijn webservices begonnen een langere lijst met functies aan te bieden. Ze zijn uitgegroeid tot het punt dat velen van hen nu een soortgelijke functie vervullen als de rol van macro-talen, zoals VBA die ooit in Microsoft Office en andere producten werd gediend.
Diensten verbinden
De voorbeeldtoepassing die we hier gaan bouwen, verbindt twee verschillende sets webservices met elkaar. De ene is van de BBC, de andere van Google.
De BBC biedt veel van zijn lijstinformatie gratis via webservices. Als je een tv-kaart op je pc hebt die automatisch programmadetails kan ophalen, kan het zijn dat je een van deze BBC-services gebruikt.
Google stelt bijna alles bloot wat het doet als webservices. Het maakt deel uit van het plan om de container te worden voor alle informatie op de planeet en Google heeft gebruikers zo goed mogelijk toegang gegeven tot de gegevens en toepassingen die het host.
Door deze twee webservices met elkaar te verbinden, kunnen we een hypothetisch probleem oplossen: u wilt documentaires over het platteland bekijken, maar wanneer u de tv inschakelt, kunt u niet vinden wat u zoekt en uiteindelijk iets anders bekijken. Dit tv-planningsproject stopt dit.
Je kunt de vermeldingen van de BBC filteren voor alleen de dingen die je wilt, en vervolgens een evenement posten voor elk programma op Google Agenda om je eraan te herinneren wanneer je moet afstemmen op de shows.
Achter de schermen pas
De eerste set van webservices die we zullen bekijken, wordt gerund op de backstage-website van de BBC. Dit is een experimenteel systeem dat drie jaar geleden werd gelanceerd en het maakt veel BBC-gegevens beschikbaar in de hoop dat mensen met interessante en innovatieve manieren komen om het te gebruiken. Alle documentatie voor de Backstage-webservices vindt u hier: www.tinyurl.com/2af4vw.
Het script dat de BBC-service verwerkt, wordt 'bbc_progs.rb' genoemd. Hoewel er tal van diensten worden aangeboden, zullen we er slechts drie gebruiken. Allereerst zullen we 'bbc.genre.getMembers' noemen. Als u deze service de code verzendt voor een bepaald genre van het programma (zoals documentaires), retourneert deze een XML-beschrijving van alle programma's van dat type die momenteel in de database worden vermeld.
Vervolgens gaan we 'bbc.programme.getLocations' noemen. Dit levert een aantal adressen op waarmee u het programma op internet kunt bekijken of beluisteren. In werkelijkheid werken de geretourneerde adressen niet altijd - de meeste radioverbindingen zijn prima, maar de meeste tv-links kloppen niet. Het lijkt waarschijnlijk dat er na verloop van tijd meer tv op internet wordt gestreamd, dus we zullen ze hier opnemen voor het geval dat.