Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare applicazioni Facebook con ASP.NET

Semplice esempio di applicazione per il noto sistema di social networking
Semplice esempio di applicazione per il noto sistema di social networking
Link copiato negli appunti

Facebook, forse il più noto tra i social network mondiali, offre la possibilità di creare applicazioni che si integrano direttamente nell'interfaccia utente del sito, a cui gli utenti possono iscriversi e, successivamente, accedere attraverso il proprio profilo.

Sono a nostra disposizione delle librerie che ci permettono, ad esempio, di ricevere informazioni sull'utente che sta utilizzando l'applicazione, aggiungere dei messaggi sulla bacheca e così via. Le API ufficiali sono disponibili per PHP ma esistono implementazioni anche per altri linguaggi, tra cui quelli della famiglia .NET. Una lista abbastanza completa è disponibile nella sezione developers di Facebook.

Le librerie che troviamo più interessanti sono:

  • Facebook Developer Toolkit, inizialmente finanziato da Microsoft, ha raggiunto da poco la versione 2.0 e rappresenta la soluzione più completa per lo sviluppo di applicazioni Facebook.
  • Facebook.NET, che utilizzeremo in questo articolo, è un'implementazione relativamente giovane adatta allo sviluppo di applicazioni non troppo complesse, e che si contraddistingue per l'estrema facilità di utilizzo.

Raccolta dei dati necessari

Iniziare lo sviluppo di una applicazione per Facebook è questione di pochi minuti. Per prima cosa è necessario registrarsi (se non lo siamo già) al sito di social networking e, dal proprio profilo, iscriversi al gruppo Developers.
Accediamo quindi alla pagina del gruppo e clicchiamo sulla voce "Crea nuova applicazione".

Figura 1. Creare una nuova applicazione Facebook
Creare una nuova applicazione Facebook

Dopo aver scelto un nome e accettato le condizioni del servizio, si apre una pagina che contiene le informazioni principali della nuova applicazione. I dati più importanti, come vedremo in seguito, sono la API Key e la Application Secret. Questi due codici identificano univocamente ogni applicazione e sarà necessario fornirli ogni volta che utilizziamo le API di Facebook.

Figura 2. Ottenere le chiavi di accesso all'applicazione
Ottenere le chiavi di accesso all'applicazione

Rimangono da configurare un altro paio di cose prima di passare alla scrittura del codice. Clicchiamo su Edit Settings e inseriamo nel campo Callback URL l'indirizzo della nostra applicazione. Le applicazioni infatti non sono caricate direttamente sui server di Facebook, ma devono essere memorizzate su uno spazio Web di nostra proprietà.

Figura 3. Impostare la pagina dell'applicazione sul nostro server
Impostare la pagina dell'applicazione sul nostro server

Terminiamo la configurazione inserendo nel campo Canvas Page URL l'indirizzo Facebook della nostra applicazione e selezionando il valore IFrame per la voce Render Method.

Figura 4. Impostare il nome dell'applicazione e la modalità
Impostare il nome dell'applicazione e la modalità

Quest'ultima operazione è particolarmente importante poichè istruisce Facebook sul sistema che utilizzeremo per scrivere il nostro codice. La scelta di IFrame farà si che le nostre pagine, scritte nel nostro caso in C#, ma inviate al browser come semplice HTML, siano caricate all'interno dell'interfaccia utente utilizzando un tag IFrame.

Se avessimo selezionato FBML (acronimo di FaceBook Markup Language) la nostra applicazione avrebbe dovuto invece produrre in output codice FBML, che il motore di Facebook avrebbe successivamente letto, interpretato e visualizzato utilizzando gli stessi stili CSS del sito. Visto che FBML è un linguaggio di marcatura scritto specificamente per interagire con il sito di social networking, risulta molto utile per creare interfacce utente che si integrano perfettamente con quella di Facebook, ma apparte questo non presenta nessun reale vantaggio rispetto all'approccio IFrame. Inoltre il passaggio ulteriore necessario al parsing e rendering del codice potrebbe rallentare l'esecuzione della nostra applicazione.

In ogni caso le API elencate precedentemente supportano entrambe le modalità in modo nativo: lo sviluppatore può quindi liberamente scegliere l'approccio che preferisce.

La prima applicazione

Terminata la configurazione dell'applicazione passiamo alla scrittura del codice. Creiamo quindi un nuovo sito internet vuoto all'interno di Visual Studio o Visual Web Developer Express, scegliendo come linguaggio C#.

Figura 5. Creare una applicazine vuota
Creare una applicazine vuota

Se non l'abbiamo ancora fatto, scarichiamo il file .zip contentente la libreria Facebook.NET ed estraiamo l'archivio in una cartella a scelta. Aggiungiamo al progetto i riferimenti alle DLL necessarie per l'applicazione Web (FacebookNET.dll e FacebookNET.Web.dll).

Figura 6. Integrare la libreria FacebookNET
Integrare la libreria FacebookNET nel progetto

Così facendo l'ambiente di sviluppo copierà automaticamente i file nella cartella Bin del sito.

A questo punto creiamo una nuova Web Form chiamata Default.aspx nella quale andremo ad inserire il codice.

Per prima cosa è necessario importare le classi contenute nel namespace Facebook.Service e registrare i controlli lato server forniti dalla libreria Facebook.NET:

<%@ Import Namespace="Facebook.Service" %>
<%@ Register TagPrefix="fb" Assembly="FacebookNET.Web" Namespace="Facebook.Web" %>
<%@ Register TagPrefix="fb" Assembly="FacebookNET.Web" Namespace="Facebook.Web.IFrame" %>

Aggiungiamo quindi il controllo FacebookApplication, in cui inseriamo le informazioni ottenute in precedenza:

<fb:FacebookApplication runat="server" ID="fbApplication" Mode="IFrame" ApplicationKey=""
    Secret="" EnableExternalBrowsing="true" ApplicationName="prova" />

Con questo semplice passaggio abbiamo fornito alla libreria tutte le informazioni di cui ha bisogno per utilizzare le API di Facebook. Essendo univoci per ogni applicazione, nell'esempio i campi ApplicationKey e Secret sono lasciati vuoti. Prima di testare il codice bisogna assicurarsi di aver inserito i valori ricevuti nella procedura di creazione dell'applicazione.

Adesso possiamo utilizzare liberamente le API di Facebook, stampando ad esempio un messaggio di benvenuto all'utente:

<form id="form1" runat="server">
<div>
<%
   User user = fbApplication.Service.Users.GetUser(null, "name");
   
   if (user != null)
     Response.Write("Ciao, " + user.Name + "!");
%>
</div>
</form>

Nel codice viene dichiarato una variabile di tipo User, il cui namespace Facebook.Service era stato importato all'inizio della pagina, che viene valorizzata con i dati dell'utente che sta utilizzando l'applicazione attraverso la chiamata alla funzione GetUser presente nelle API. fbApplication è l'ID del controllo lato server che abbiamo creato. Il messaggio di benvenuto viene quindi stampato con una semplice chiamata Response.Write.

Puntiamo il browser all'indirizzo apps.facebook.com/nome_applicazione/ e vediamo il risultato dei nostri sforzi.

Figura 7. Risultato finale
Risultato finale

Per semplicità, abbiamo utilizzato codice inline, ma avremmo potuto utilizzare il code behind della pagina, richiamando il metodo GetUser nella funzione Page_Load e assegnando il risultato ad un controllo di tipo Literal.

Conclusione

Sviluppare applicazioni per Facebook è molto semplice ma allo stesso tempo efficace. Le possibilità offerte dall'alto numero di tecnologie utilizzabili in fase di progettazione e realizzazione sono davvero molte se si pensa anche al grande bacino di utenza che è possibile raggiungere con una singola applicazione.

Per approfondire l'argomento è utile consultare il wiki ufficiale per gli sviluppatori Facebook, ricco di informazioni e di tutorial pratici.

Ti consigliamo anche