Netsensei

Much Ado About Nothing

Twitter API: babysteps

** techneutenwaarschuwing **

Gisteren ben ik wat met de Twitter API beginnen spelen. De whatnow? De Twitter API, dus. Samengevat: wanneer je zelf een programma schrijft, laat de API van toepassing x of service y toe om (beperkt) gebruik te maken van diens functionaliteit. Als je, bijvoorbeeld, met Twitter Stats werkt, dan zal die via de API van Twitter al je gebruikersgegevens opvragen, ontvangen en verwerken in mooie grafiekjes.

Op zich schrijft een API enkel voor welke regels je moet volgen om te kunnen communiceren. De programmeertaal, het platform of weet-ik-veel waar je zelf mee aan de slag bent, spelen een stuk minder een rol. Buiten dan dat ze je in staat moeten stellen om gebruik te kunnen maken van die functionaliteit.

Afin, dat was de theorie. De praktijk dan maar. Stel dat je de Twitter website beu bent of geen browser bij de hand, maar je wil wel twitteren, hoe doe je dat? Wel, men neme de API. Die zegt dat je een HTTP POST verzoekje moet sturen naar een bepaalde URL met je paswoord, username en het berichtje dat je wil versturen. je berichtje mag uiteraard niet langer dan 140 tekens zijn. Twitter zal je berichtje dan oppikken.

Eerste probleem: hoe stuur je een HTTP POST request zonder browser? Wel, dat kan je met cURL. Dit is een tooltje waarmee je direct met webservers en nog veel meer kan spreken. Deze versie (windows! Linux e.a. beschikbaar. Kies de no-ssl versie.) heb je nodig. In je commando prompt (dosbox, whatever) voer je het commando ‘curl’ uit. Je moet natuurlijk een aantal parameters zoals een URL en watnog meegeven om iets zinnigs te doen met cURL. In casu geef je volgende URL mee:

http://twitter.com/statuses/update.xml

Daarmee zijn we er nog niet. Je moet eerst inloggen bij Twitter vooraleer je een tweet kan sturen. Dat doe je door aan het curl commando volgende parameter mee te geven:

-u username:paswoord

Uiteraard vervangen door je eigen logingegevens. Tenslotte, moet je nog het berichtje mee geven als een HTTP POST request. Daarvoor dient de -d parameter van cURL. Daarbij moet je nog specificiëren dat het berichtje een status is. Dat doe je met ‘status=’ Het resultaat is dit:

-d status="Twittering from cURL"

Dat alles moeten we nu in één commando doorgeven aan Twitter. Dat doe je zo:

curl -u username:paswoord -d status="Twittering from cURL" http://twitter.com/statuses/update.xml

Als je als goed hebt ingevoerd, dan zou je een heleboel tekst in XML formaat teruggespuugd moeten krijgen. Die zal o.a. je profielgegevens bevatten en de nieuw aangepaste status met het tijdstip. Doe je het verkeerd krijg je ofwel geen output, ofwel een foutmelding in een XML berichtje.

Zo. Je hebt net voor het eerst rechtstreeks gebruik gemaakt van de Twitter API om los van de Twitter website toch te kunnen twitteren. Bravo! Als je PHP programmeur bent, dan zou je op een gelijkaardige manier met curl voor PHP aan de slag kunnen om van de Twitter API gebruik te maken.