2011-12-28 1 views
2

J'utilise la bibliothèque Twitter4j et j'essaie d'obtenir la liste des abonnés de l'utilisateur authentifié.Quel est le moyen le plus efficace d'obtenir une liste d'abonnés utilisant Twitter4j?

que je fais ce qui suit:

IDs followersIds = mTwitter.getFollowersIDs(-1); 
long [] ids = followersIds.getIDs(); 

List<User> followers = new ArrayList<User>(); 
for(int i = 0; i < ids.length; i++) { 
    followers.add(mTwitter.showUser(ids[i])); 
} 

Bien que cela puisse fonctionner, il est loin d'être efficace car elle envoie une demande pour chaque suiveur. Outre la lenteur de cette méthode, j'ai finalement l'erreur suivante:

error - Rate limit exceeded. Clients may not make more than 350 requests per hour.

Quelqu'un connaît une meilleure méthode pour ce faire? (J'ai passé du temps sur le documentation mais je n'en ai trouvé aucun).

Merci!

Répondre

3

Il existe une méthode lookupUsers(long[] ids) dans UserMethods que vous devez utiliser à cette fin. Vous lui transmettez un tableau d'au plus 100 identifiants utilisateur (par requête) et récupérez toutes les informations étendues. N'oubliez pas que vous pouvez utiliser le async version of this method, car vous ne voulez probablement pas faire les requêtes sur le thread de l'interface utilisateur.

0

Il est méthode

PagableResponseList<User> twitter4j.api.FriendsFollowersResources.getFollowersList(long arg0, long arg1) throws TwitterException 
Questions connexes