|
|
Un nano cliente de twitter hecho en 30 minutos desde cero en ASP.NETUn día como cualquier otro, habla por el mensajero de la oficina con mi Sensei y nos pusimos a platicar sobe una entrevista que había hecho a un aspirante a developer donde le pedía que hiciera un programa sencillo consumiendo el API de twitter (Mostrar el Time Line y poder publicar el estatus) y me preguntaba si 1 hora de tiempo era suficiente, hice un "calculo" mental y se me hizo suficiente tiempo para completar la tarea, sin embargo me pregunte si yo podría hacerlo en menos tiempo (solo por pura diversión), puse el cronometro (ya con el IDE abierto y listo) y este fue el resultado después de 30 minutos (momento en el cual consideré que la tarea estaba cumplida). ![]() Paso a Paso#1 AutentificaciónEl primer paso fue entonces hacer una autentificación del usuario, para lo cual ASP.NET tiene un control. ![]() #2 Time Line de TwitterEl problema suena complicado pero el API de Twitter es muy amigable y ASP.NET tiene un control que se alimenta con XML, entonces solo tuve que conectar estos dos puntos. #3 Publicar statusHabría ahorrado mucho tiempo usar LinQ2Twitter pero olvide descargarlo y el tiempo no detenía su marcha así que de la forma más rupestre hice un
public static bool PostTweet(string username, string password, string tweet) { try { // encode the username/password string user = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password)); // determine what we want to upload as a status byte[] bytes = System.Text.Encoding.ASCII.GetBytes("status=" + tweet); // connect with the update page HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml"); // set the method to POST request.Method = "POST"; request.ServicePoint.Expect100Continue = false; // set the authorisation levels request.Headers.Add("Authorization", "Basic " + user); request.ContentType = "application/x-www-form-urlencoded"; // set the length of the content request.ContentLength = bytes.Length; // set up the stream Stream reqStream = request.GetRequestStream(); // write to the stream reqStream.Write(bytes, 0, bytes.Length); // close the stream reqStream.Close(); } catch (Exception ex) { return false; } return true; } #4 140 caracteres o menosUna de las características más conocidas de Twitter es la restricción de los 140 caracteres (o menos), la página de twitter tiene un contador de caracteres que debía incluir en mi programa, así tuve que agregar un par de funciones JavaScript para poder emular esta característica de la página original de twitter
function CountChars() { document.getElementById("lblCount").value = 140 - document.getElementById("<% = status.ClientID %>").value.length; } #5 TalachaEl resto fue solo talacha como decimos coloquialmente, todo el proceso fue muy rápido e indoloro, al presionar F5 probé el programa y todo salio bien (Al menos este programa no iría a las garras de QA). Ahí está el código...Si estas interesado en agregarle algo al proyecto, puedes hacerlo en Code Run (el link ya lo puse al principio) y/o mandarme tus comentarios.
Trackback URI: http://blog.ernestohs.com/index.php/trackback/12
#2 Re:Un nano cliente de twitter hecho en 30 minutos desde cero en ASP.NETExcelente tutorial :) [ Responder (0) ]
Dejar un comentario
Fuentes XML de comentario: RSS | Atom
|
music@last.fm |
#1 Re:Un nano cliente de twitter hecho en 30 minutos desde cero en ASP.NET
Like this!