Windows Phone 7 – Tutorial XXXIII – Utilizar TweetSharp para autenticarse

Después de unos correos que me han llegado a raíz de mi ultimo articulo, la gente me ha estado preguntando como usar autenticarse usando la librería Tweetsharp que recomendaba en ese articulo.

La verdad es que es muy sencilla de utilizar y me voy a saltar los pasos de como recoger los APIKey, ConsumerKey y ConsumerSecret que lo explicaba en el anterior articulo. Como siempre lo voy a realizar con un ejemplo, en este caso de consola.

El primer paso lógicamente es bajarnos la librería de Codeplex que se encuentra en la siguiente direción:TweetSharp Library.

El segundo paso es tambien facil, añadimos las referencias Hammock , Newtonsoft.Json , TweetSharp , TweetSharp.Twitter a nuestro proyecto

 

 

El siguiente paso ya es codificar la llamada, como veries el código es muy simple

 

1 using System; 2 using System.Configuration; 3 using System.Diagnostics; 4 using TweetSharp; 5 using TweetSharp.Model; 6 using TweetSharp.Twitter.Service; 7 8 namespace ConsoleApplication1 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 15 TwitterClientInfo twitterClientInfo = new TwitterClientInfo(); 16 twitterClientInfo.ConsumerKey = ConsumerKey; 17 twitterClientInfo.ConsumerSecret = ConsumerSecret; 18 //Creamos el servicio de Twitter 19 TwitterService twitterService = new TwitterService(twitterClientInfo); 20 21 if (string.IsNullOrEmpty(AccessToken) || string.IsNullOrEmpty(AccessTokenSecret)) 22 { 23 //recogemos el TokenSecret y AuthorisationUrl 24 25 OAuthToken requestToken = twitterService.GetRequestToken(); 26 string authUrl = twitterService.GetAuthorizationUrl(requestToken); 27 28 29 Console.WriteLine("Permite a esta APP enviar Tweets"); 30 Process.Start(authUrl); //Lanzamos el navegador con AuthUrl. 31 32 //Permitir la APP 33 Console.WriteLine("Introduce el PIN:"); 34 string pin = Console.ReadLine(); 35 36 OAuthToken accessToken = twitterService.GetAccessToken(requestToken, pin); 37 38 string token = accessToken.Token; 39 string tokenSecret = accessToken.TokenSecret; 40 41 Console.WriteLine("AccessToken: " + token); 42 Console.WriteLine("AccessTokenSecret: " + tokenSecret); 43 } 44 45 twitterService.AuthenticateWith(AccessToken, AccessTokenSecret); 46 twitterService.SendTweet("Mi primer Tweet desde Tweetsharp"); 47 Console.WriteLine("Introduce un Tweet"); 48 string tweetMessage; 49 50 while (true) 51 { 52 tweetMessage = Console.ReadLine(); 53 if(tweetMessage.ToLower() == "salir") 54 { 55 break; 56 } 57 twitterService.SendTweet(tweetMessage); 58 } 59 } 60 61 62 63 #region ConsumerKey & ConsumerSecret 64 private static string ConsumerSecret 65 { 66 get { return ConfigurationManager.AppSettings["ConsumerSecret"]; } 67 } 68 69 private static string ConsumerKey 70 { 71 get { return ConfigurationManager.AppSettings["ConsumerKey"]; } 72 } 73 74 private static string AccessToken 75 { 76 get { return ConfigurationManager.AppSettings["AccessToken"]; } 77 } 78 private static string AccessTokenSecret 79 { 80 get { return ConfigurationManager.AppSettings["AccessTokenSecret"]; } 81 } 82 #endregion 83 } 84 }

 

Bien esto funciona para este tipo de aplicaciones pero para nuestro querido Windows Phone deberemos de optar por otro método mas sencillo y es utilizar xAuth en nuestra aplicación, TweetSharp nos facilita este tipo de autenticación en Twitter y es tan sencillo como

 

1 TwitterService service = new TwitterService("consumerKey", "consumerSecret"); 2 OAuthAccessToken access = service.GetAccessTokenWithXAuth("username", "password");

Como veis mucho mas sencillo si es posible, tenéis información de como se trabaja con este tipo de autenticación en http://apiwiki.twitter.com/Twitter-REST-API-Method:-oauth-access_token-for-xAuth

 

Espero que no hagáis muchas aplicaciones de Twitter

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *