Select Page

Twitter Development – Senden und Empfangen

by | Aug 14, 2009 | Development, Serien

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:
[code lang=”java”]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;
}
}[/code]
Sollte der String beim Versenden die maximale Größe von 140 Zeichen überschreiten, so wird der Rest abgeschnitten.
[code lang=”java”]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());
}
}
}[/code]
Folgender Snip ermöglicht die Anzeige aller vorhandenen Messages:
[code lang=”java”]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());
}
}
}[/code]
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 startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er 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 seinen beiden Söhnen und seiner Tochter.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Development | Serien

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...