Linq to Facebook

by Andrea 28 January 2010 08:07

LinqToFacebook Visto la mia scoperta a riguardo di Linq to Twitter, mi sono chiesto se qualcuno avesse anche scritto un provider LINQ per Facebook, ed ecco che sempre da codeplex spunta il progetto LINQ to FQL, un provider di LINQ che si interfaccia direttamente con le API di Facebook.

Un articolo a riguardo di questa libreria lo trovate a questo link su codeproject:
Facebook Developer Toolkit LINQ to FQL Addon
mentre direttamente su CodeRun trovate il codice disponibile per testare subito la libreria:
CodeRun - LINQ to Facebook

Ed ecco un esempio di sintassi:

   1: var db = new FacebookDataContext();
   2: //LINQ Query Syntax
   3: var myUser = from user in db.user where user.uid == db.uid select user;
   4: //LINQ Method Syntax (the same query)
   5: var myUser2 = db.user.Where(t => t.uid == db.uid);

Una cosa che non condivido a pieno di questa libreria, è l'aver mantenuto gli stessi nomi degli oggetti e proprietà utilizzati da Facebook, mentre io avrei preferito fossero stati rinominati con qualcosa di più leggibile/parlante (e che rispetti le Naming Convention). Capisco altresì che uno sviluppatore, in questo modo, può utilizzare la stessa documentazione delle API di Facebook per capirne il significato e l'utilità.

Technorati Tags:

Tags: , ,

.NET | ASP .NET | Internet

Linq to Twitter

by Andrea 27 January 2010 06:36

LinqToTwitter Cercando una libreria per interfacciarmi con le API di Twitter, sono venuto a conoscenza di un provider per LINQ chiamato LINQ to Twitter, che esegue le chiamate verso il noto social network.
Questo provider permette quindi di tradurre una sintassi LINQ in una chiamata verso le API REST di Twitter, in modo del tutto trasparente, facilitando/velocizzando notevolmente le fasi di sviluppo (e aggiungerei anche, migliorando la lettura del codice).

Il progetto è disponibile a questo link: LINQ to Twitter

Un esempio di codice (completo di autenticazione semplice) è il seguente, dove andremo a recuperare gli ultimi tweets degli amici:

   1: var authorization = new UsernamePasswordSimpleAuthorization()
   2: {
   3:     UserName = ConfigurationManager.AppSettings["twitterConsumerKey"],
   4:     Password = ConfigurationManager.AppSettings["twitterConsumerSecret"]
   5: };
   6: authorization.SignOn();
   7:  
   8: using (TwitterContext tc = new TwitterContext(authorization))
   9: {
  10:     var publicTweets = (from tweet in tc.Status
  11:                         where tweet.Type == StatusType.Friends
  12:                         select tweet).ToList();
  13: }

Dando uno sguardo al codice, il progetto sembra davvero completo (a differenza di molte altre librerie che non vengono aggiornate dal 2007), e sopratutto, fornisce pieno accesso alle funzionalità di Twitter:

  • Status
  • User
  • Direct Messages
  • Friendship
  • Social Graph
  • Account
  • Twitter Search
  • Authentication

Technorati Tags:

Tags: ,

.NET | ASP .NET