Uppdatering: Läs även om lanseringen av OpenAID där jag var med.
Jag tänkte redovisa hur jag byggde webbtjänsten Biståndet.se på några få timmar. Först och främst så läste jag den dokumentation som återfinnes till OpenAID API:et. Efter detta så skrev jag ihop en funktion som utifrån en URL hämtar hem data över HTTP och cachar denna i Redis:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); function fetch($url) { global $redis; if(!$c = unserialize($redis->get($url))) { // Check if query is cached $c = json_decode(safeJSON_chars(file_get_contents($url))); // JSON fetch and decode $ret = $redis->set($url, serialize($c)); } return $c; }
Funktionen safeJSON_chars hittas här och används för att filtrera bort skräptecken.
Sedan genomför jag en första hämtning av samtliga länder och dess tillhörande bistånd:
$c = fetch("http://api.openaid.se/api/v1/country?"); foreach($c as $key => $val) { $title = $val->name; osv.. insertpost($title, $osv..); }
Sedan använder jag funktionen wp_insert_post() för att göra ett inlägg direkt in i WordPress. Den som är observant ser att jag lagrar frågorna mot OpenAID i all evighet vilket ej bör göras.
Hej Jonas!
På Biståndsdebatten.se kan du hänga med i diskussionerna om svenskt utvecklingssamarbete.
Bra beskrivning. Imponerad över hur många tjänster du lyckats bygga.
Några få timmar? Kan jag få köpa din hjärna? :P