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 perfil, 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://developer.twitter.com/en/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 Developers

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

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»:

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.:

En la pestaña «Settings» podremos modificar 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»:

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:

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»:

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

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

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

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

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»:

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

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;

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

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«:

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«:

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«:

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

El formulario principal de la aplicación «formTwitter.cs» contendrá los siguientes componentes:

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:

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

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

Deberemos introducir dicho PIN en la aplicación:

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:

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:

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

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:

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:

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

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

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

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

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

Podremos elegir qué acción realizará la aplicación 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):

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».

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

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

La aplicación 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:

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.

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