31 agosto 2009  0

Come accedere alle API di Friendfeed: una panoramica introduttiva

friendfeed logoLa mia estrema curiosità nei confronti dei social network, si manifesta non solo nell’esplorazione (e partecipazione) ai servizi offerti dal punto di vista dell’utente, ma, soprattutto, anche sotto il profilo implementativo e quindi nell’analisi e studio delle interfacce collaborative messe a disposizione per l’accesso mediante applicazioni esterne  (leggi web serviceW o API di supporto).

Recentemente mi sono documentato sulle possibilità di interazione con Friendfeed, social network recentemente acquistato da Facebook, che a mio avviso, fa della sua estrema semplicità di utilizzo, l’arma vincente per stimolare l’attenzione di quanti, come me, desiderano la massima linearità in strumenti (o servizi) di questo tipo.

Senza entrare troppo nel merito, Friendfeed consente la pubblicazione di un flusso di contenuti alimentabili da fonti differenti e pubblicato in ordine cronologico temporale inverso. E’ possibile prelevare contenuti da qualunque piattaforma che ne consenta l’accesso tramite la pubblicazione mediante flusso (feed) XMLW, sia esso in formato RSSW, AtomW o altro. Pertanto è possibile aggregare articoli pubblicati sui propri blog (tumblr, ecc.), video dal proprio account YouTube, come anche foto da Flickr e quant’altro si possa immaginare a livello di di pubblicazione di contenuti. Infine è possibile inserire anche direttamente del testo, avvalendosi di una semplice ed intuitiva interfaccia Ajax.  

Ciascuno di questi oggetti può ricevere “apprezzamenti” (like) da parte degli altri utenti del network che hanno deciso di seguire (e quindi sottoscrivere) il nostro flusso, come anche essere commentato dagli stessi, al pari appunto di un articolo pubblicato su un blog.

Ogni utente può scegliere di rendere il proprio feed (ovvero aggregatore di contenuti) pubblico o privato. Nel primo caso esso sarà accessibile da chiunque, ivi inclusi i motori di ricerca, mentre nel secondo potrà essere consultato solo dagli utenti iscritti al network che ne avranno a noi richiesto preventiva autorizzazione. Ogni utente, al momento dell’iscrizione, può scegliere un nicknameW identificativo che consentirà l’accesso diretto al proprio feed utilizzando un indirizzamento canonico del tipo

http://www.friendfeed/{nickname}

Friendfeed mette a disposizione delle API per consentire l’interfacciamento tramite applicazioni esterne ai contenuti pubblicati, siano esse di tipo web o stand alone, come anche di pubblicarne altri, consentendo quindi un’interazione non solo in lettura, ma anche in scrittura.

Poiché, per quanto detto prima, i flussi possono essere di tipo pubblico o privato, è possibile accedere ai webservice, utilizzando naturalmente delle procedure di autenticazione.

Friendfeed remote login

Vengono esposte tre tipologie differenti: OAuth, Installed Application Autentication e HTTP Basic Autentication.

La principale differenza tra le prime due e la terza, è che quest’ultima non necessita di una registrazione presso Friendfeed dell’applicazione richiedente l’accesso e che, per l’autenticazione, in luogo della password associata al nome utente, utilizza uno speciale codice denominato remote key legato all’utente stesso. La remote key può essere rigenerata in qualunque momento su richiesta dell’utente (la sua scelta non è comunque a sua discrezione come la password canonica).

L’uso di un PIN dedicato in luogo della password, per la Basic Autentication consente di “limitarne” i possibili danni nel casso di “sniffing” dei dati trasmessi (si rammenta infatti che l’intestazione HTTP utilizzata per questa tipologia di validazione, prevede l’invio dei dati in chiaro).

Inoltre essa è indicata soprattutto in quelle casistiche per le quali è necessario accedere alle API quasi esclusivamente in lettura e, comunque, da procedure distribuibili e non univocamente identificabili, come ad esempio plug-in o applet per blog, forum, ecc.

OAuth ed Installed Application Autentication, sono un pò più complesse nella loro gestione e sono idealmente riservate all’uso di applicazioni stand alone o comunque di tipo monolitico. Richiedono la registrazione specifica dell’applicazione consumer su FriendFeed: ciò consente l’accreditamento della stessa previa ricezione di una Consumer Key e di una Consumer Secret che sarebbero, in soldoni, delle credenziali di accesso aggiuntive riservate all’applicazione oltre alla username e password canoniche. E’ necessario inoltre fornire un Callback Url necessario alla fase di reindirizzamento successiva a quella di autenticazione, anche per consentire l’identificazione univoca dell’applicazione.

Mentre OAuth è anch’essa indicata per l’accesso tramite web application e/o web service, Installed Application Autentication è essenzialmente riservata all’utilizzo tramite applicativi installati su pc client, è richiede una procedura di autenticazione simile alla prima.

L’autenticazione è sempre necessaria ? Questo dipende dai contenuti ai quali si vuole accedere: sicuramente se si intende utilizzare i web service non solo per “leggere” le informazioni, ma anche per “registrarle” allora la risposta è sicuramente affermativa.

Uno degli utilizzi più immediati delle API è senz’altro il mero accesso ai contenuti pubblicati. In tal caso è opportuno sapere che la lettura del singolo post (oltre che dei commenti e/o like ad esso associati) richiede o meno l’autenticazione a seconda dello stato dell’utente pubblicatore al momento stesso della sua produzione. Ciò significa che lo stato (pubblico o privato) di un determinato contenuto è strettamente legato allo stato del suo autore, e tale condizione permane nel tempo, indipendentemente dallo stato successivo.

I contenuti che sono prodotti nel momento in cui il feed dell’utente è privato, restano privati anche se successivamente il feed viene reso pubblico (e pertanto richiedono l’autenticazione a prescindere, per ottenere l’accesso tramite le API) e naturalmente, viceversa.

Se si ignora questo comportamento, si rischia di ottenere risultati apparentemente inaspettati, durante l’accesso ai web service di Friendfeed e di perdere molto tempo nella fase di sviluppo  e successivo debugging della propria applicazione.

Nel prossimo articolo vedremo come gestire “materialmente” l’accesso alle API, la sintassi da utilizzare, il formato dei dati in risposta, e come gestire l’autenticazione prendendo come esempio la modalità più semplice, ovvero l’HTTP Basic Autentication.

In un terzo ed ultimo articolo, vedremo, invece come sfruttare le API per un’applicazione pratica: estrapolare i commenti pubblicati su Friendfeed in risposta ad un post pubblicato un blog.

Esprimi il tuo giudizio

Pingbacks and trackbacks (1)+

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti