maanantaina, tammikuuta 08, 2007

Google Spreadsheets API beta

Google julkaisi joitakin viikkoja sitten apin taulukkolaskentaansa. Sitä ei löydy vielä viralliselta apilistalta. Siihen perehtymällä tajuaa miksi Google julkaisi RSS:n ja Atomin tyylisen oman GData-standardinsa. GData on laadittu data-apien standardoimiseksi. Calendar, Blogger, Spreadsheets, Code Search, Base... Kaikki yhdellä opiskelulla.

GData on XML:ää, jotta liitynnät olemassaoleviin rakennelmiin olisivat mahdollisimman helpot. Sille, joka kirjoittaa tyhjästä ohjelmaa tai nettisivua, on tarjolla kiihottava vaihtoehto - JSON-syöte. Se on saatavissa kaikkiin edellälueteltuihin apeihin.

JavaScriptissä on ns. cross-domain-rajoitus. HTTPRequest (ajaxin perusta) suostuu avaamaan vain samassa hakemistossa eli omalla palvelimella olevia tiedostoja. HTML kuitenkin suostuu lataamaan .js -skriptejä mistä tahansa - aivan kuten kuvia tai tyylitiedostoja. JSON-syöte hyödyntää tätä porsaanreikää.

JSON on saanut nimensä JavaScriptistä, mutta se istuu kätevästi lähes kaikkiin kieliin. Json.org -sivusto vihkii asiaan illassa.

Pari postia sitten mainittu esimerkkisivu (nyt v0.2) lukee markkereiden tiedot taulukosta toiselta palvelimelta. Syötettä kutsuttaessa annetaan ns. callback-funktion nimi. Takaisin saadaan skripti, jossa on sama funktio ja sen parametrinä JSON-tiedosto, joka sisältää taulukon rivit objekteina. Auki parsiminen on paljon helpompaa kuin XML:n.

Toistaiseksi skriptikutsulla ei voi kirjoittaa taulukkoon. Teknistä estettä ei ole, mutta asiaa perustellaan turvallisuudella. GData-kutsulla taulukoita voidaan työstää vapaasti mutta taulukoita ei voi luoda eikä hävittää.

Json-periaate on räjähdymäisesti leviävä viime viikkojen hype. Ajattelin illan mittaan tutkia json-kommenttipalstan lukemista kartalle.