sábado, 23 de enero de 2010

Usando el API de Twitter con Java


Siempre quise usar la API de Twitter, pero en vez de leer entender todo el funcionamiento del servicio opté por usar las librerías ya existentes, ¿para qué reinventar la rueda? Soy un flojo del demonio.

En el sitio de Twitter puedes encontrar numerosas librerías que te servirán para utilizar la API de Twitter y hacer tus juegos o experimentos, yo me decidí por JTwitter. Una vez descargado su archivo .jar e importarlo a un Java Project en Eclipse ya puedes empezar a hacer las maniobras que desees. Ojo, la API deTwitter fija un límite de requests así que no podrás usar bucles infinitos para espamear ni borrar todo tu timeline.

En mi caso, quise hacer lo que mencioné, borrar todos mis tweets pero es imposible. Les copio el código para borrar tus últimos 100 tweets. Es bueno crear una procedimiento wait para no saturar las llamadas al servidor de un solo porrazo. Otra cosa, tu perfil tuitero debe estar sin el candadito.

import winterwell.jtwitter.Twitter;
import winterwell.jtwitter.Twitter.Status;

public class TwitterRevenge {

public static void wait (int n){
long t0,t1;
t0=System.currentTimeMillis();
do{
t1=System.currentTimeMillis();
}
while (t1-t0<n);
}

public static void main(String[] args) {

// Nos logueamos. Usuario y contraseña.
Twitter twitter = new Twitter("zajnostiko","fujimoridemela");
// Usamos un bucle para borrar siempre el último estado
for (int i = 0; i < 100; i++){

Status estado = twitter.getStatus("zajnostiko") ;
System.out.println(i);
System.out.println(estado);
twitter.destroyStatus(estado);
wait(100);
}}}

¿Alguien tiene más código para compartir?

6 comentarios:

Franco A. dijo...

zopenko si dices q elimina tus ultimos 150 tweets xq pones n=100?

Zajnóstiko dijo...

Gracias por la corrección, zopenko. Con las pruebas anteriores había gastado "crédito". Le di 100 al código porque es un número menor que me permitía correr sin problemas.

Anónimo dijo...

Hola, muy interesante el articulo, muchos saludos desde Mexico!

Zajnóstiko dijo...

Gracias por tu comentario. Saludos, México. :D

Anónimo dijo...

Buen post, estoy de acuerdo contigo aunque no al 100%:)

Oswaldo Gomez dijo...

// TODO Auto-generated method stub
my_twiter = new Twitter("user", "password");

try
{
my_twiter.setStatus("prueba test app");
exitoso();
}

catch (TwitterException e)
{
error();
e.printStackTrace();
}


para dejar un post, tengo eso dentro del boton y siempre me manda ala excepcion , sabras cual es el error ?