twitter-tTwitter ist eigentlich als Broadcast-Medium aufgebaut, was erstmal keine Erstellung von direkten Nachrichten an Benutzer vorsieht. Das Versenden von direkten Nachrichten ist jedoch an Benutzer möglich, die einem selbst folgen. Durch das aktive Folgen eines Benutzers als Vorraussetzung für den Nachrichtenversand wird das Spamen somit aktiv verhindert.
Aktuell besteht lediglich die Möglichkeit durch “wahlloses” Folgen von Benutzern und Hinweisen auf eigene Produkte und Dienstleistungen im Profil und Meldungen auf sich aufmerksam zu machen. Aus meiner Sicht ist dieses Grundkonzept, abgesehen von ein paar negativen Beispielen, Grund für die problemlose Nutzung des Dienstes, der ansonsten durch Spam, Werbung und andersartige Zwangsnachrichten schnell unbenutzbar wäre.
Nun zum Versenden und Empfangen von Nachrichten:

package org.netways.api.twitter;
import java.util.List;
import twitter4j.DirectMessage;
import twitter4j.Twitter;
import twitter4j.TwitterException;
public class TwitterFunctions {
Twitter twitter;
public TwitterFunctions(String user, String password) {
twitter = new Twitter(user, password);
}
public void sendMessage(String user, String message) throws TwitterException {
twitter.sendDirectMessage(user, message);
}
public List receiveMessages() throws TwitterException {
List messages = twitter.getDirectMessages();
return messages;
}
}

Sollte der String beim Versenden die maximale Größe von 140 Zeichen überschreiten, so wird der Rest abgeschnitten.

package org.netways.api.twitter;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
tf.sendMessage("netways", "Testmessage for API Blog-Series");
} catch (Exception e) {
System.err.println(e.toString());
}
}
}

Folgender Snip ermöglicht die Anzeige aller vorhandenen Messages:

package org.netways.api.twitter;
import java.util.Iterator;
import java.util.List;
import twitter4j.DirectMessage;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
DirectMessage dm;
List messages = tf.receiveMessages();
Iterator it = messages.iterator();
while(it.hasNext()) {
dm = it.next();
System.out.println("Sender " + dm.getSenderId());
System.out.println("Text " + dm.getText() + "\n");
}
} catch (Exception e) {
System.err.println(e.toString());
}
}
}

Output der Konsole:

Sender 17650139
Text Testmessage for API Blog-Series
........

Im nächsten Blogpost geht es um Replies, Mentions und was genau da eigentlich der Unterschied ist.

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.