Appunti, scoperte e invenzioni

Tutto quello che mi viene in mente (se permettete l’esagerazione…)

  • Universal Declaration of Human Rights

    Article 19. Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers.
  • My Last Twits

    • google wavin'!!! 1 month ago
    • chi è così buono da spedirmi un invito per la beta di Google Wave a mario.piccinelli@gmail.com? 1 month ago
    • perde tempo su internet.. la tesi aspetterà.. bah 1 month ago
    • Noemi Letizia premiata per il suo ruolo nel film Scaccomatto: è la preferita di un boss mafioso. Esattamente come nel film. (spinoza.it) :-) 2 months ago
    • I have sailed the world and seen his wonders, from the Dardinels to the mountains of Peru, but there's no place like.. Lovere! 3 months ago
  • Meta

  • Delicious Links

  •  

    Giugno: 2009
    L M M G V S D
    « Mag   Lug »
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
  • Archivi

  • Disclaimer

    Questo blog non rappresenta una testata giornalistica [...]

    L’autore del blog dichiara di non essere responsabile per i commenti inseriti dai lettori.[...]

    Le immagini pubblicate sono quasi tutte tratte da internet e quindi valutate di pubblico dominio. [...]

    L'autore declina qualunque responsabilità per danni a cose o persone derivanti dall'applicazione di istruzioni apprese da questo blog.[...]

    Per ulteriori info legali vi consiglio di passare da qui.

Facebook Developer Tips: i cookies nelle web application

Pubblicato da piccimario su Giugno 25, 2009

La piattaforma Facebook, per la quale da qualche tempo mi rallegro di sviluppare software a tempo perso, mi riserva ogni giorno sorprese sempre nuove. Giusto mezz’ora fa ho scoperto che supporta anche i cookies, messi a disposizione delle applicazioni e residenti sui server di FB, legati all’ID dell’utente. Il che vuol dire che anche per stavolta non mi tocca configurare mysql sul mio hosting, evviva! :-)

Per i non addetti ai lavori (in particolare per i non pratici di programmazione web based) faccio una piccola digressione: i “cookie” altro non sono che piccoli contenitori di informazioni, che vengono memorizzati (o letti, ovviamente) da un’applicazione web, e che sono memorizzati normalmente nel browser dell’utente finale. Ad esempio, se scrivo un sito web posso fare in modo che quando un utente vi accede la prima volta memorizzo un piccolo cookie sul suo browser, in modo che la prossima volta che tornerà io, leggendo il cookie, me ne accorgerò e potrò salutarlo con un “bentornato!” invece che col solito “benvenuto!”. Ovviamente i cookie sono utilizzati per funzioni molto più complesse e utili. :-)

L’unica differenza tra i cookie normali e i cookie di FB è che questi ultimi sono archiviati sui loro server e vengono identificati grazie al legame con lo specifico utente. Le modalità di utilizzo alla fine sono le stesse, ma il legame del cookie con l’utente è molto più sicuro (ad esempio, con i cookie tradizionali se cambio computer, ad esempio passo dal computer della scuola al mio portatile, le informazioni sono perse). Unico limite: max 50 cookie per utente per applicazione.

Veniamo alla parte developer! Per creare un cookie in un’applicazione facebook è sufficiente il comando:

$facebook->api_client->data_setCookie($userid, $cookiename, $cookievalue);

ovviamente, $userid è l’identificativo dell’utente cui il cookie sarà associato, $cookiename è il nome e $cookievalue è il contenuto. Fatto!

Per cercare il cookie, è invece sufficiente:

$cookiesReturn = $facebook->api_client->data_getCookies($userid, $cookiename);
$cookievalue = $cookiesReturn[0][value];

Voilà! Se per caso il cookie cercato non esiste, la variabile $cookievalue sarà vuota.

Grazie a queste poche righe posso pubblicare un commento (riga singola, per non spammare troppo :-) ) sul feed di ogni utente che utilizza il mio Numerologicon, con la certezza di non pubblicare commenti duplicati nell’arco delle 24 ore (dopo tale tempo il cookie di default scade e viene cancellato). Esistono opzioni per modificare la vita del cookie prima della scadenza, ma per questo e altri dettagli teNNici vi rimando alle fonti ufficiali

Ciao a tutti!

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>