Usando LinqToTwitter para @MeriDeluxe y @MeriConsolas

Hoy revisando el "log" de @MeriDeluxe y @Mericonsolas he visto que a partir de las 00:00 en punto de la noche de hoy miércoles todos los tweets que se intentaban publicar daban un error.

Mirando en la página de desarrolladores de Twitter me he encontrado con esta noticia,  donde básicamente se dice que a partir de hoy la API v1 deja de usarse y se deberá usar la API v1.1

Hasta ahora estaba usando Twitterizer (repositorio de git hub aquí) que encapsulaba toda la REST API v1 en una librería para ser usada desde C#/VB.NET sin excesivos problemas (vamos, ningún problema).

Efectivamente, comprobando el código ‘in situ’ cuando se intentaba crear un nuevo tweet la respuesta origina un error indicando que la API v1 ya no esta soportada y que se migre a la API v1.1

Buscando una solución rápida y que no me implicase demasiados cambios en el código me he puesto a trastear con linq2twitter (o LINQtoTwitter como queráis) que al igual de Twitterizer es una implementación de la API v1.1 para C#/VB.NET

La página de la descarga está aquí (vía codeplex) 

También podeís instalar la librería vía NuGet desde el propio Visual Studio con el comando:

install-package linqtotwitter 

En ambos casos, ya bien se descargáis la libreria y agregáis la referencia a la dll correspondiente o lo hacéis via NuGet la utilización es bastante simple.

Solo un apunte que me llevo de cabeza un par de minutos, que ahora es explicaré muy rápidamente.

Básicamente lo que hay que hacer para que los bots publiquen los tweets, es crear una autenticación de tipo SingleUserAuthorizer.

Una vez creada la autorización se crea un TwitterContext y con el método UpdateStatus podremos publicar los tweets: 

 

Si hay algún error (autenicación incorrecta, tweet demasiado largo, límite excedido, etc.) saltará la Exception y podremos tomar las ‘contramedidas’ oportunas.

Como véis es bastante simple de usar, casí igual que Twitterizer.

Bueno, el caso es que en la autenticación AccessToken es en realidad lo que en la página de desarrollo es el valor de AccessTokenSecret, no el "AccessToken"

Me explico, desde la página de desarrolladores de Twitter, accedes a la página de tu aplicación, donde tienes los tokens de autenticación:

Yo estaba usando el valor de Acess token en el parámetro de AccessToken y el valor de Access token secret en el parámetro OAuthToken.

Esto es incorrecto. Debe usarse el valor de Access token para el parámetro OAuthToken y el valor de Access token secret en el parámetro de AccessToken.

 

Saludos.
mov eax,ollydbgInt 13h  


Ollydbg ProSignature