twitter-tIm ersten Teil der Serie haben wir Verbindung mit Twitter aufgenommen. Alle Merkmale eines Benutzers und auch dessen Profils sind in Twitter via API zugänglich. Das heisst sämtliche Informationen, welche im Webinterface angezeigt werden, darüber hinaus jedoch auch die die Einstellung des Profils wie Farben, Hintergrundbild und ob der Benutzer z.B. den Benachrichtigungsdienst von Twitter aktiviert hat.
twitter_page
Soweit das Profil des Benutzers nicht geschützt ist (Der Status kann nur von autorisierten Freunden eingesehen werden), sind diese Informationen für alle Twitter-Benutzer verfügbar.
Auch in diesem Beispiel wäre keine Implementierung einer eigenen Methode notwendig um die benötigten Informationen zu ermitteln. Die Kapselung erleichtert jedoch die nachfolgenden Beispiele.
So einfach geht die Implementierung:

package org.netways.api.twitter;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.User;
public class TwitterFunctions {
Twitter twitter;
public TwitterFunctions(String user, String password) {
twitter = new Twitter(user, password);
}
public User getUserInfo(String username) throws TwitterException {
User user = twitter.getUserDetail(username);
return user;
}
}

Die Ermittlung der Benutzerinformationen geht über die Funktion getUserDetail, welche die Übergabe des Twitter-Namens voraussetzt.

package org.netways.api.twitter;
import twitter4j.User;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
User user = tf.getUserInfo("aplusk");
System.out.println("Name: " + user.getName());
System.out.println("Screenname: " + user.getScreenName());
System.out.println("Web: " + user.getURL());
System.out.println("Description: " + user.getDescription());
System.out.println("Location: " + user.getLocation());
System.out.println("Last Status: " + user.getStatusText());
System.out.println("Followers: " + user.getFollowersCount());
System.out.println("Following: " + user.getFriendsCount());
} catch (Exception e) {
System.err.println(e.toString());
}
}
}

Anschließend schreiben wir die ermittelten Daten einfach auf die Konsole:

Name: netways
Screenname: netways
Web: https://www.netways.de
Description: Open Source IT Infrastructure
Location: Germany, Nürnberg
Last Status: New blog post: NETWAYSGrapherV2 RC3 veröffentlicht http://bit.ly/1wbXDH
Followers: 159
Following: 161

Zum Beweis noch der Output des Benutzers mit den meisten Followern (die Description ist echt lesenswert ;-)):

Name: ashton kutcher
Screenname: aplusk
Web: http://blahgirls.com
Description: I make stuff, actually I make up stuff, stories mostly, collaborations of
thoughts, dreams, and actions. Thats me.
Location: here
Last Status: it was a little hot today  http://bit.ly/oy5TI
Followers: 2839413
Following: 184

Während wir noch daran arbeiten Ashton mit unserem NETWAYS Twitter Account zu übertreffen, geht es in den nächsten beiden Blogposts um die Beziehung zwischen Twitter-User.

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.