Twitter en Java

Como ya dije el otro en el post en el que probábamos Twitter desde python, hoy cuento como hacer lo mismo desde Java.

La librería que vamos a utilizar para acceder a los servicios de twitter es Twitter4J, aunque hay alguna otras por ahí que también promete buenos resultados (como java-twitter). Aquí os dejo el link de descarga del zip con los jars y la página con los ejemplos en los que me he basado para probarlo.

Nuestro primer ejemplo consistirá en actualizar nuestro estado en twitter (he cambiado el orden, no por nada, sino por seguir el orden de los ejemplos originales), viene a ser algo como ésto:

import twitter4j.Twitter;
import twitter4j.TwitterException;
[…]

Twitter twitter = new Twitter(“nuestro_username“,”nuestro_password“);
twitter.updateStatus(“Twitting from Java…”);

Tan sencillo como en el ejemplo de python, una línea más si contamos el incluir la excepción necesaria. Aquí paso de la excepción porque sólo es un ejemplo😉

Vamos con el siguiente caso, mostrar el estado de las personas que estamos siguiendo en twitter:

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.User;
import java.util.List;
[…]

Twitter twitter = new Twitter(“nuestro_username”,”nuestro_password”);
        List<User> friends = twitter.getFriends();
        for (User f:friends) {
            System.out.println(f.getScreenName() + “: ” + f.getStatusText());
        }

Como vemos es también muy sencillo, igualito al ejemplo del otro día en python. Hay una sóla cosa que no me gusta demasiado porque puede liar… ¿por qué el objeto se llama “User” y el método “getFriends”? vamos, canta un poco cuando el método “getFriends” devuelve un objeto de tipo “User”, sería mucho más lógico que devolviese un objeto de tipo “Friend”. Pero bueno, sería sólo un cambio de nombre de la clase, aunque sería un poco más claro. Eso suponiendo que yo esté haciendo las cosas bien…

Quedan más ejemplos, en el link que os dejado arriba cubren también el envío/”recepción” de mensajes directos, la búsqueda de tweets, paginación, autenticación mediante OAuth (como se hace Taske con RememberTheMilk), … pero todo eso se escapa de lo que quería mostrar.

Me esperaba que éstos ejemplos ocuparan bastante más en java que lo que ocuparon en twitter (y que sería bastante más lento) pero la verdad es que las dos APIs son clavaditas, un puntazo!😀

Posiblemente me anime a hacer algo que permita utilizar twitter para llevar los logs de aplicaciones (sobretodo ahora, que si vuelvo en verano, la aplicación que estaba haciendo en el curro pasa a pre-producción en un par de delegaciones :D), algo muy básico, pero que permita controlar los posibles errores sin tener que coger el teléfono cada dos por tres😛

  1. Ya hay algo implementando:

    http://www.securitybydefault.com/2008/07/syslog-2-twitter.html

    En este caso esta en Perl…

    Un saludo.

  2. @Adrián: no es exactamente lo que tenía en mente… yo digo hacer una librería para utilizarla en mis aplicaciones. Es decir, no un daemon que mande a twitter modificaciones en ficheros, ni logs del sistema, lo que yo estoy pensando es en hacer una librería que twitee los mensajes de log que yo quiera desde mi aplicación.

    A ver si me explico, en java hay una clase Logger (que no tengo ni puta idea de como va, tendría que mirarla para hacer ésto) que se usa para sacar los logs de la aplicación por consola, fichero, base de datos…. lo que yo tenía en mente es ampliarla para que también lo hiciera a través de twitter😛

    Para pre-producción puede ser muuuuuuuy cómodo y para alguna aplicación interna que interese tener controlada también.

    • Alejandro
    • 29/04/10

    Una pregunta, como puedo hacer que cuando ingrese datos a una tabla de artículos especiales se publiquen en mi twitter, claro esta la alta la realizo con un sistema de Inventarios.

    • Alejandro
    • 29/04/10

    ojala me puedan ayudar, saludos…

  3. algun ejemplo completo en java?? lo necesito para un proyecto Universitario..saludos y gracias

  4. Hello there, just became aware of your blog through
    Google, and found that it is really informative.
    I’m gonna watch out for brussels. I’ll appreciate if you continue this in
    future. Lots of people will be benefited from your writing.
    Cheers!

  5. It efficiently manages income and expenses, inventory,
    pricing and contracts, plus makes it simple to implement new technology solutions for better customer satisfaction.
    Documentation:. The RHD SUV vans are very secure comfortable and as you have the steering with your
    right hand gives you complete control and authority while driving your right hand drive van.

  6. This is a topic that is close to my heart… Thank you! Exactly where
    are your contact details though?

  7. With these loans being provided online, it allows you to definitely attain
    the funds, without much of any obligation. No appear
    time from the day or night it really is, you are able to
    obtain a cash advance advance to tide you over until the following payday.

  1. 23/11/14

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: