Acceso Twitter aplicación C# API Twitter AjpdSoft Gestión Seguidores Twitter

Cómo usar el API de Twitter para desarrollar una aplicación en C# C Sharp .Net que nos permita interactuar con nuestra cuenta de Twitter. Para ello desarrollamos la aplicación gratuita con código fuente AjpdSoft Gestión Seguidores Twitter. Con el API de Twitter podremos leer los tweets, tweets retwitteados, menciones, Timeline, seguir a usuarios, dejar de seguir, visitar pefil, enviar tweet, mostrar los últimos 20 seguidores, amigos, mensajes directos, etc. También podremos realizar tareas automáticas como: enviar mensaje directo a quien nos sigue, añadir mención a quien nos sigue, seguir a quien nos sigue (todo ello de forma automática). También podremos, de forma automática, dejar de seguir a aquellos amigos (que seguimos) que no nos siguen.

Alta de aplicación en Twitter Developers

Para que nuestra aplicación desarrollada en C# .Net (Visual Stuio .Net) pueda conectar utilizar el API de Twitter deberemos registrarla en Twitter. Deberemos disponer de un usuario de Twitter, si aún no lo tenemos nos daremos de alta en su web oficial. Una vez que tengamos el usuario accederemos a la sección Developers de Twitter en la URL:

https://dev.twitter.com/apps

Nos mostrará la lista de aplicaciones de Twitter que tengamos dadas de alta, para añadir una nueva pulsaremos en «Create new application»:

Alta de aplicación en Twitter Develpers

Introduciremos los datos de la aplicación, como el nombre, descripción, sitio web, etc., en nuestro caso desarrollaremos AjpdSoft Gestión Seguidores Twitter:

Alta de aplicación en Twitter Develpers

Una vez introducidos los datos, leídos los términos de licencia y aceptados (marcando «Yes, I agree») introduciremos los datos del capcha y pulsaremos en «Create your Twitter application»:

Alta de aplicación en Twitter Develpers

Nos mostrará la nueva aplicación creada en Twitter, en la pestaña «Details» podremos consultar las asignaciones de Consumer key y un Consumer secret y otros datos que necesitaremos para desarrollar la aplicación en C# o en otros lenguajes: Request token URL, Authorize URL, Access token URL, etc.:

Alta de aplicación en Twitter Develpers

En la pestaña «Settings» podremos modiciar el nombre, la descripción, el sitio web, podremos añadir un icono para la aplicación y lo más importante, deberemos establecer el tipo de permiso que requerirá la aplicación en «Application Type», con las posibilidades de «Read only», «Read and Write», «Read, Write and Access direct messages». Dependiendo de las tareas que queramos que realice nuestra aplicación indicaremos el tipo de acceso, normalmente con «Read only» suele ser suficiente. Estos permisos se mostrarán al usuario cuando utilice nuestra aplicación por lo que debemos escoger la opción estrictamente necesaria, a ser posible «Read only»:

Alta de aplicación en Twitter Develpers

En la pestaña «OAuth tool» podremos consultar el Consumer Key, Consumer Secret, Access token y Access token secret de nuestra aplicación. También el método de petición de información: GET, POST, DELETE, PUT, HEAD. Normalmente se suele usar GET:

Alta de aplicación en Twitter Develpers

Con estos sencillos pasos ya tendremos nuestra aplicación dada de alta en Twitter con los datos de acceso necesarios para su posterior desarrollo en C# C Sharp como explicaremos a continuación.

API para acceso a Twitter con Visual Studio .Net C# C Sharp

Una vez dada de alta la aplicación en Twitter, lo siguiente que necesitaremos será el API de Twitter, que son un conjunto de librerías DLL con los métodos necesarios para realizar diversas operaciones en una cuenta de Twitter desde C# C Sharp. Existen varios proyectos que han desarrollado las librerías DLL necesarias para acceder a Twitter desde una aplicación Visual Studio .Net C# C Sharp, algunos de ellos:

  • LINQ2Twitter by @joemayo.
  • Spring.NET Social extension for Twitter by SpringSource.
  • TweetSharp by @danielcrenna.
  • Tweetinvi maintained by Linvi.
  • Crafted,Twitter by @martbrow.

Usaremos Spring.NET Social Extension for Twitter, por lo tanto realizaremos la descarga de estos ficheros desde:

https://github.com/spring-projects/spring-net-social-twitter/tree/master/lib/net/4.0

O bien usando Maven o Gradle (como se recomienda en la web oficial de Spring.NET Social Extension).

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

Descomprimiremos el fichero Spring.Social.Twitter-2.0.0-M1.zip descargado, usaremos los ficheros ubicados en:

…/Spring.Social.Twitter-2.0.0-M1/bin/net/4.0/Debug

Usaremos:

  • Spring.Rest.dll
  • Spring.Social.Core.dll
  • Spring.Social.Twitter.dll

Abriremos Microsoft Visual Studio .Net, pulsaremos en «Archivo» – «Nuevo proyecto»:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

Seleccionaremos en la parte izquierda «Otros lenguajes» – «Visual C#», en la parte derecha seleccionaremos «.NET Framework 4» y «Aplicación de Windows Forms». Introduciremos el nombre para el proyecto

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

A continuación agregaremos las referencias al API de Twitter en Visual Studio .Net, para ello pulsaremos en «Proyecto» – «Agregar referencia»:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

En la pestaña «Examniar» seleccionaremos los ficheros DLL del API de Twitter: Spring.Rest.dll, Spring.Social.Core.dll, Spring.Social.Twitter.dll:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

De esta forma se agregarán las referencias al API de Twitter en nuestro proyecto C# C Sharp:

  • Spring.Rest
  • Spring.Social.Core
  • Spring.Social.Twitter

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

Agregaremos ahora una nueva clase a nuestro proyecto donde implementaremos todas las tareas que queramos realizar con el API de Twitter, para ello pulsaremos con el botón derecho del ratón sobre el proyecto en el Explorador de soluciones, seleccionaremos «Agregar» – «Clase»:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

Introduciremos el nombre para la clase, por ejemplo «TareasTwitter.cs«, pulsaremos «Aceptar»:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

Añadiremos en esta clase los import correspondientes para usar el API de Twitter:

using Spring.IO;
using Spring.Social.OAuth1;
using Spring.Social.Twitter.Api;
using Spring.Social.Twitter.Api.Impl;
using Spring.Social.Twitter.Connect;

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

En esta clase añadiremos como constantes privadas las claves Consumer Key y Consumer Secret obtenidas en este paso:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

El código fuente completo de esta clase puede consultarse aquí.

De la misma forma añadiremos también otra clase para encriptar y desencriptar texto, que nos servirá para guardar la contraseña de acceso a la base de datos, la llamaremos «Encriptar.cs«:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

El código fuente completo de esta clase puede consultarse aquí.

Añadiremos la clase para guardar la configuración de la aplicación, la llamaremos «GuardarConfiguracion.cs«:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

El código fuente completo de esta clase puede consultarse aquí.

Añadiremos la clase para guardar la configuración de la aplicación, la llamaremos «BDSQLite.cs«:

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

El código fuente completo de esta clase puede consultarse aquí.

El formulario principal de la aplicación «formTwitter.cs» contendrá los siguientes componentes (aquí el código fuente completo):

Acceso a Twitter con aplicación C# .Net y API Twitter Spring.NET Social Extension

El código fuente completo del formulario principal puede consultarse aquí.

AjpdSoft Gestión Seguidores Twitter en funcionamiento

La aplicación AjpdSoft Gestión Seguidores Twitter muestra los tweets, tweets retwitteados, menciones, timeline, permite seguir, dejar de seguir, visitar pefiles, enviar tweet, muestra los últimos 20 seguidores, amigos, mensajes directos, etc. Además, lo más interesante de esta aplicación gratuita es que permite realizar tareas automáticas como: enviar mensaje directo a quien nos sigue, añadir mención a quien nos sigue, seguir a quien nos sigue (todo ello de forma automática). También permite, de forma automática, dejar de seguir a aquellos amigos (que seguimos) que no nos siguen.

A continuación mostramos un videotutorial sobre el funcionamiento de AjpdSoft Gestión Seguidores Twitter:

AjpdSoft Gestión de Seguidores Twitter

Ejecutaremos la aplicación AjpdSoft Gestión Seguidores Twitter, en primer lugar en «Usuario» introduciremos el nombre de usuario de Twitter, pulsaremos en «Conectar con Twitter»:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

La aplicación abrirá el navegador por defecto, accederemos a nuestra cuenta de Twitter en el navegador y autorizaremos el acceso de AjpdSoft Gestión Seguidores Twitter, Twitter generará un PIN:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Deberemos introducir dicho PIN en la aplicación AjpdSoft Gestión Seguidores Twitter:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Una vez conectados, desde la pestaña «Mensajes directos» podremos obtener los 20 últimos mensajes directos, desde donde podremos responder a un mensaje directo o eliminarlo:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Seguidores» podremos consultar los últimos 20 seguidores de nuestra cuenta de Twitter, podremos dejar de seguir a un amigo, seguir a un usuario o visitar su perfil:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Siguiendo» podremos consultar los últimos 20 amigos a los que hemos seguido, podremos dejar de seguir a un amgio, seguir a un usuario o visitar su pefil (id, nick, nombre, seguidores, siguiendo, fecha antigüedad, descripción, url del perfil, ubicación, idioma):

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Desde la pestaña «Tweet» podremos enviar un Tweet, en la pestaña «Tweets TimeLine» podremos ver los últimos 20 mensajes de la línea de tiempo:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Mis tweets» podremos consultar los últimos 20 tweets enviados con el ID de tweet, el id de usuario, el nick de usuario, la fecha, el texto del tweet y el número de retweets:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Menciones» podremos consultar las últimas 20 menciones que nos hayan hecho (id, id usuario, fecha, tweet, número retweets):

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Tweet favoritos» podremos consultar los últimos 20 tweets marcados como favoritos:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Mis tweets retwitteados» podremos consultar los últimos 20 tweets retwitteados:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

En la pestaña «Tareas automáticas» podremos establecer y activar tres acciones automáticas que permite AjpdSoft Gestión Seguidores Twitter:

  • Enviar mensaje directo a nuevos seguidores.
  • Añadir mención a nuevo seguidor.
  • Seguir a nuevo seguidor.

Podremos elegir qué acción realizará AjpdSoft Gestión Seguidores Twitter de forma automática en el intervalo de segundos especificado. La aplicación comprobará en el intervalo indicado si hay nuevos seguidores, de haberlos y de forma automática, realizará las acciones indicadas (mensaje directo, mención, seguir):

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Para que la opción anterior de tareas automáticas funcione deberemos configurar la base de datos SQLite local, para ello pulsaremos en la pestaña «Configuración»:

  • Fichero BD SQLite: indicaremos una carpeta y nombre de fichero donde se creará la base de datos local SQLite que usará la aplicación internamente, en esta base de datos guardará los nuevos usuarios a los que le haya enviado mensaje directo para no enviar mensajes directos varias veces al mismo usuario.
  • Una vez especificada la ubicación y fichero de la base de datos pulsaremos en «Crear BD y tablas para Twitter» para crear la base de datos. Si la base de datos ya existe con datos NO deberemos volver a crearla, será suficiente con seleccionarla en «Fichero BD SQLite».

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Una vez creada la base de datos y especificadas acciones automáticas, para activarlas, en la pestaña «Tareas automáticas» pulsaremos en «Actovar tareas automáticas»:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Minimizando la aplicación quedará en el área de notificación:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

La aplicación AjpdSoft Gestión Seguidores Twitter también permite dejar de seguir a quien no nos sigue de forma automática. Para ello pulsaremos en la pestaña «Dejar de seguir a quien no te sigue», pulsaremos en el botón «Obtener amigos que no te siguen», la aplicación obtendrá los amigos a los que seguimos, los seguidores y mostrará en la parte derecha los amigos que no nos siguen, pulsando en «Dejar de seguir a todos los que no te siguen» de forma automática dejará de seguir a los que no nos siguen:

AjpdSoft Gestión Seguidores Twitter en funcionamiento

Nota: esta versión de la aplicación tiene la limitación de sólo permitir esta tarea automática si no tenemos más de 5000 amigos.

IMPORTANTE: no debemos abusar de las técnicas indicadas en este tutorial puesto que Twitter podría penalizar nuestra cuenta, no debe abusarse, sobre todo, de las menciones.

A continuación mostramos un videotutorial sobre el funcionamiento de AjpdSoft Gestión Seguidores Twitter:

AjpdSoft Gestión de Seguidores Twitter

Código fuente source code C# C Sharp AjpdSoft Gestión Seguidores Twitter

A continuación mostramos listado del código fuente (source code) de la aplicación AjpdSoft Gestión Seguidores Twitter:

  • Clase TareasTwitter.cs

  • Clase Encriptar.cs

  • Clase BDSQLite.cs

  • Formulario principal formTwitter.cs