Peldakodok/Külső adatok
A iWiW Fejlesztői Wiki wikiből
Alkalmazásunknak több esetben is szüksége lehet adatok lekérdezésére külső szerverekről, illetve adatok tárolására külső szerverekre:
- az iWiW által biztosított 10x500 byte-nyi kulcs-érték pár nem elegendő
- mashup jellegű alkalmazásról van szó, mely 3rd party adatokat használna fel (különböző API-kra, feedekre, XML-ekre, stb. épülve)
- saját, már meglevő adatbázisból adatokat kell lekérdezni
Ekkor a külső szerverekkel történő kommunikációhoz folyamodhatunk, melyre a gadgets.io.makeRequest függvényhívás szolgál. Az OpenSocial lehetőséget biztosít arra is, hogy a kimenő lekérdezésekkor a külső szerver azonosítani tudja a felhasználót biztonságosan (Signed Request), hiszen nem mindegy, hogy valaki ismerve a külső API elérhetőségét, milyen kéréseket indít az adott szerver felé, megpróbálva lekérdezni adatokat. A kérés indításakor egy paraméter, hogy az alkalmazás által indított lekérdezést az iWiW “aláírja” és átadja a felhasználó azonosítóját is.
Az alkalmazásunkból így indíthatunk kéréseket:
var App = { // ezt a függvényt hívjuk meg az alkalmazás betöltődésekor init: function() { gadgets.io.makeRequest("http://feeds.delicious.com/v2/rss/popular/opensocial?count=10", App.responseReady, { "CONTENT_TYPE": "FEED", "NUM_ENTRIES": 10 }); }, // ezt a függvényt hívjuk meg, amikor a szerverről megérkeznek az adatok responseReady: function(data) { for(var i=0; i<data.data.Entry.length;i++) { var item = data.data.Entry[i]; // például item.Title, item.Link } } }; // az alkalmazás betöltődésekor meghívandó függvényt adjuk át, hasonlít a // weblapok onload függvényéhez gadgets.util.registerOnLoadHandler(App.init);
