Select Page

Twitter Development – Replies und Mentions

by | Aug 18, 2009 | Development, Serien

twitter-tUm mit anderen Benutzern und deren Tweets zu interagieren gibt es bei Twitter so genannte Replies bzw. Mentions. Der Begriff Mention ist seit März 2009 in Gebrauch. Twitter reagierte auf die Tatsache, dass häufig mehr als ein Benutzer pro Nachricht angesprochen wurde, z.B. sitze im Zug mit @BenutzerA und @BenutzerB. Verbunden damit ist der Hinweis auf den anderen Benutzer somit auch nicht mehr am Anfang der Nachricht und erfordert das Parsing der ganzen Mitteilung.
Für Nutzer besteht der Vorteil von Mentions darin, auch die Nachrichten zu verfolgen, die nicht ausschließlich an sie gerichtet sind aber inhaltlich beziehen. Da die Ermittlung in der API quasi fertig ist, kombiniere ich in folgendem Beispiel zwei API-Calls um die ermittelte Tweets mit Nutzer- und Profilinformationen anzureichern.
[code lang=”java”]package org.netways.api.twitter;
import java.util.List;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
public class TwitterFunctions {
Twitter twitter;
public TwitterFunctions(String user, String password) {
twitter = new Twitter(user, password);
}
public List getMentions() throws TwitterException {
List mentions = twitter.getMentions();
return mentions;
}
public Status getStatus(long id) throws TwitterException {
Status status = twitter.showStatus(id);
return status;
}
}[/code]
Mit den ermittelten Mentions suchen wir danach die Ursprungsnachricht:
[code lang=”java”]package org.netways.api.twitter;
import java.util.Iterator;
import java.util.List;
import twitter4j.Status;
import twitter4j.TwitterException;
import twitter4j.User;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
Status status;
User user;
List statusList = tf.getMentions();
Iterator it = statusList.iterator();
while(it.hasNext()) {
status = it.next();
user = status.getUser();
System.out.println("Sender: " + user.getName());
System.out.println("Screen: " + user.getScreenName());
System.out.println("Location: " + user.getLocation());
System.out.println("Message: " + status.getInReplyToStatusId());
try {
System.out.println("Original: " + tf.getStatus(status.getInReplyToStatusId()).getText());
} catch(TwitterException te) {
System.err.println(te.toString());
}
System.out.println("Text: " + status.getText() + "\n");
}
} catch (Exception e) {
System.err.println(e.toString());
}
}
}[/code]
Output der Konsole:

Sender: Sebastian Duschinger
Screen: jackhuaberbauer
Location: Nürnberg / Nuremberg / Bavaria
Message: 2440420942
Original: Treten Sie ein und schauen Sie sich ruhig um: 
Text: @netways nice office ;)
........

Durch die Kombination der verschiedenen API-Calls und das durchgängige ID-System für Nachrichten und Personen, können Mentions zu einem Post ermittelt werden oder einfach auch das Antwortverhalten anderer Benutzer auf eigene Tweets untersucht werden.
Der nächste Blogpost widmet sich der Suche von Tweets.

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...