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