Hola nuevamente acá estoy posteando de nuevo cómo cambiar el estado de Twitter con java gracias a la API Twitter4J.
Primeramente tenemos que tener descargarnos la API Twitter4J 2.1.2 del siguiente link…
http://twitter4j.org/en/twitter4j-2.1.2.zip
Ya descargada la añadimos a nuestro IDE en mi caso uso Netbeans:
- Botón derecho sobre “libraries (Librerías)”
- ADD jar/folder (Agregar)
- Seleccionamos el archivo que descargamos anteriormente del link antes mencionado
Y listo ya tenemos acceso a la API Twitter4J de twitter…
Comenzaremos creando nuestra clase base llamada TwitterJ.java y hacemos las importaciones correspondientes
import java.util.List;
import twitter4j.*;
Ahora creamos un atributo privado del tipo Twitter llamado mi_twitter
private Twitter mi_twier;
Siguiendo creamos nuestro honorable constructor de la siguiente manera
public TwitterJ(String userName, String password) {
try {
mi_twitter = new Twitter(userName, password);
mi_twitter.verifyCredentials();
} catch (TwitterException ex) {
System.out.println("Error: "+ex.getMessage());
}
}
Información Constructor:
- Dos parámetros String que contendran usuario-password respectivamente
- Creación de objeto con los datos ingresados como parámetros (usuario,password)
- Verificación de credenciales (si los datos ingresados son correctos)
Ahora crearemos el método que nos dará un nuevo tweet ó cambiará el estado
public void nuevoTweet(String tweet) {
try {
this.mi_twitter.update(tweet);
} catch (Exception ex) {
System.out.println("Error: " + ex.getMessage());
}
}
Información método nuevoTweet(String tweet):
- String tweet será el nuevo estado que enviaremos
- llamamos al método update de la clase Twitter y le damos de parámetro lo ingresado en el argumento de método creado
Ahora crearemos el método que nos devolverá nuestro actual estado
public String getEstado(){
String estadoActual = "";
try {
List<Status> statusList = mi_twitter.getUserTimeline();
estadoActual = String.valueOf(statusList.get(0).getText());
} catch (TwitterException ex) {
System.out.println("Error:"+ex.getMessage());
}
return "Mi Estado es: "+estadoActual;
}
Información método getEstado( ):
- creamos una variable que contendrá el estado
- creamos un List que contendrá lo que venga del método de la clase Twitter ( getUserTimeLine )
- nuestra variable antes creada tendrá el valor de la lista en la posición o
- retornamos nuestra variable
Ahora crearemos un método que nos devolverá la lista de contactos en twitter
public void listaDeContactos() {
try {
List<User> friends = mi_twitter.getFriends();
System.out.println("Lista de Contactos\n");
for (User f : friends) {
System.out.println("Usuario: "+f.getScreenName());
System.out.println("Estado: "+f.getStatusText()+"\n");
}
} catch (Exception e) {}
}
Información método listaDeContactos():
- Creamos un List que contendrá lo que venga del método de la clase Twitter ( getStatusText )
- Recorrimos la lista “friends” que debería tener los amigos ó contactos
- Vamos imprimiendo mientras se recorre el for each el USUARIO y ESTADO
La API Twitter4J consta con muchos mas métodos y cosas por el estilo, yo solo te daré la base para comenzar… puedes hacer una gráfica mas atractiva y usar esta clase para aquello…
Bueno ahora haremos nuestro main:
public static void main(String args[]){
TwitterJ t = new TwitterJ("mi_user","Mi_password");
t.nuevoTweet("Ejemplo para Lineadecodigo.com");
t.listaDeContactos();
System.out.println(t.getEstado());
}
Información método main(String args[]):
- Creamos la instancia a nuestra clase antes creada y a la vez pasamos sus dos argumentos ó parámetros en éste caso USUARIO,PASSWORD
- usamos el método nuevoTweet para cambiar el estado actual pasando por parámetro el nuevo tweet
- Llamamos a el método listaDeContactos() que debería imprimir la lista de contactos ó amigos
- imprimimos el estado actual
Como ya ven es demasiado simple hacer un programa que funcione con Twitter…
Interfaz opcional usando la clase antes creada ( Proyecto para Netbeans )
puedes descargarla de acá : Descargar de aquí(opcional)