Seite wählen

Twitter Development – Friends und Followers I

von | Aug 4, 2009 | Development, Serien

twitter-tFreunde und Verfolger, wobei zweites hier nicht negativ gemeint sind, sind (waren) das entsprechende Wording für die Beziehungsbeschreibung zwischen unterschiedlichen Benutzern bei Twitter.
Ein Beispiel:
Benutzer A bekommt über alle Statusänderungen von Benutzer B ein Update seiner Timeline (dazu in einem späteren Post mehr). Er ist also ein Follower von Benutzer B. Aus Sicht von Benutzer B folgt ihm Benutzer A und ist somit Following. Früher gab es bei Twitter noch die Terminology des Freundes, welche jedoch vor einiger Zeit verändert wurde. Grund hierfür ist, dass nicht jeder dem Benutzer A folgt auch ihm folgen muss. Da es somit meist zu asymetrischen Beziehungen gekommen ist, war das Modell eher verwirrend.
Näheres zur Anpassung dieser Beschreibung sind im APIWiki von Twitter zu finden.
Die Beziehungen zwischen verschiedenen Benutzern lassen sich mit Hilfe der API sehr einfach ermitteln und ggf. auch weiterverarbeiten. Nachfolgendes Beispiel zeigt ein paar Möglichkeiten auf:
[code lang=“java“]package org.netways.api.twitter;
import java.util.List;
import twitter4j.Paging;
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 List getMyFollowers() throws TwitterException {
List followers = twitter.getFollowers();
return followers;
}
public List getFollowers(String username) throws TwitterException {
List followers = twitter.getFollowers(username);
return followers;
}
public List getFollowerPage(int side) throws TwitterException {
Paging paging = new Paging(side);
List followers = twitter.getFollowers(paging);
return followers;
}
}[/code]
Zur Ermittlung von Followers und Following gibt es verschiedene Methoden Signaturen, welche auch die seitenweise Ermittlung der Daten und deren Rückgabe ermöglichen. Erstes Beispiel ermittelt alle Follower des angemeldeten Accounts:
[code lang=“java“]package org.netways.api.twitter;
import java.util.Iterator;
import java.util.List;
import twitter4j.User;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
List users = tf.getMyFollowers();
Iterator it = users.iterator();
while(it.hasNext()) {
System.out.println(it.next().getScreenName());
}
} catch (Exception e) {
System.err.println(e.toString());
}
}
}[/code]
Output der Konsole:

ferrari9135
mariana4724
infinity1817
Seminaraccount
stephaniemuths
andel7
jrgptr
AddisonWesley
pugnacity
ratgeber24
goern
derjoern
ffiene
stayfriendsde
........

Unter Verwendung der Paging Funktion können auch nur bestimmte Ausschnitte der Ergebnisliste verarbeitet werden. Dies ist z. B. bei der Wiederverwendung von eigenen Applikation und seitenweise Ermittlung der Ergebnisse sinnvoll.
[code lang=“java“]package org.netways.api.twitter;
import java.util.Iterator;
import java.util.List;
import twitter4j.User;
public class TwitterApi {
/**
* @param args
*/
public static void main(String[] args) {
try {
TwitterFunctions tf = new TwitterFunctions("netways", "password");
List users = tf.getFollowerPage(2);
Iterator it = users.iterator();
while(it.hasNext()) {
System.out.println(it.next().getScreenName());
}
} catch (Exception e) {
System.err.println(e.toString());
}
}
}[/code]
Der nächste Teil dieses Posts verdeutlicht die Ermittlung der Following Benutzer (früher Friends genannt).

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.

1 Kommentar

  1. Twitter Ranking

    Um zu sehen, wieviele Follower man mit einem Tweet gewonnen oder verloren hat, empfehle ich mein kleines Twitter-Mashup Tweet-Rank..
    Dort werden die von Dir beschriebenen API-Calls samt Paging etc. ebenfalls genutzt.
    Schaut doch mal vorbei!
    Gruß HL

    Antworten

Trackbacks/Pingbacks

  1. Weekly snap: Following with Twitter and pushing with Prowl - August 3-7, Nagios, Twitter, Karo, From, Martin, Nuremberg, Weekend - NETWAYS Blog - [...] Twitter. Indeed, Bernd forged ahead in his Twitter Development series with two posts on determining ‘followers’ and ‘friends‘ (following)…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema 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...