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);
Személyes eszközök