twitter-tTwitter ist ein sehr populärer Micro-Blogging Dienst, der seinen Erfolg großteils den vielen rund um ihn entstandenen Tools und Programmen zu verdanken hat. Vor allem, weil die Nutzung von Twitter durch die bereitgestellten API Funktionen besoners leicht ist.
Diese kleine Serie widmet sich der Verwendung der Java-API Twitter4J von Yusuke Yamamoto. Twitter4J schien mir die vollständigste und aktivste Java API für Twitter zu sein, aber der grundsätzliche Ansatz ist wohl API-übergreifend.
Die verwendete Funktionsweise zur Autorisierung der Benutzer ist ergänzend einen tiefergehenden Blick wert und basiert auf OAuth, welches die Freigabe von Informationen ohne Austauch von Benutzer und Passwort ermöglicht. Einen ausführlichen Beginners Guide gibt es bei Hueniverse.
Im ersten Beispiel bauen wir mal die Verbindung zu Twitter auf, was so einfach ist, dass sich die Definition einer eigenen Klasse eigentlich nicht lohnt, aber es soll auf Basis dieser Klassen in der Serie weiter gehen.

package org.netways.api.twitter;
import twitter4j.RateLimitStatus;
import twitter4j.Twitter;
import twitter4j.TwitterException;
public class TwitterFunctions {
	Twitter twitter;
	public TwitterFunctions(String user, String password) {
		twitter = new Twitter(user, password);
	}
	public int getHourlyLimit() throws TwitterException {
		RateLimitStatus rls = twitter.rateLimitStatus();
		return rls.getHourlyLimit();
	}
	public int getRemainingHits() throws TwitterException {
		RateLimitStatus rls = twitter.rateLimitStatus();
		return rls.getRemainingHits();
	}
}

Anschließend lassen wir uns unter Verwendung der Klasse RateLimitStatus gleich noch zurückgeben, ob wir noch ein paar Versuche frei haben, die Twitter-Services in Anspruch zu nehmen. Nachdem das aktuelle Limit vor kurzem von 100 auf 150 Calls erhöht wurde, haben wir also noch ein wenig Luft für weitere Übungen.

package org.netways.api.twitter;
public class TwitterApi {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			TwitterFunctions tf = new TwitterFunctions("netways", "password");
			System.out.println("Hourly Limit: "+tf.getHourlyLimit());
			System.out.println("Free Limit: "+tf.getRemainingHits());
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}
}

Der nächsten Blog-Post widmet sich den vorhandenen Userattributen und und Möglichkeiten zur Weiterverarbeitung.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.