2013-11-14 151 views
0

我与TwitterFactory如下工作:获取Twitter的追随者用户名

ConfigurationBuilder cb = new ConfigurationBuilder(); 
     cb.setDebugEnabled(true) 
      .setOAuthConsumerKey("xxxxxxxxxxxxxx") 
      .setOAuthConsumerSecret("xxxxxxxxxxxxx") 
      .setOAuthAccessToken(xxxxxxxxxxxxx) 
      .setOAuthAccessTokenSecret(xxxxxxxxxxxxx); 

     TwitterFactory tf = new TwitterFactory(cb.build()); 


     twitter = tf.getInstance(); 

     long cursor = -1; 

     IDs ids = twitter.getFollowersIDs(cursor); 

的事情是,我不希望的ID,但我需要得到追随者的用户名,我无法弄清楚如何? 你有什么想法我应该如何获得用户名?

更新的代码:

ConfigurationBuilder cb = new ConfigurationBuilder(); 
     cb.setDebugEnabled(true) 
      .setOAuthConsumerKey("xxxxxxxxxxxxxx") 
      .setOAuthConsumerSecret("xxxxxxxxxxxxx") 
      .setOAuthAccessToken(xxxxxxxxxxxxx) 
      .setOAuthAccessTokenSecret(xxxxxxxxxxxxx); 

     TwitterFactory tf = new TwitterFactory(cb.build()); 


     twitter = tf.getInstance(); 

     long cursor = -1; 

     IDs ids = twitter.getFollowersIDs(cursor); 

     long[] id = ids.getIDs(); 
      ResponseList<User> users = twitter.lookupUsers(id);    
      for (User user : users) { 
       usernames.add(user.getScreenName()); 

      } 
     } 

回答

0

鉴于获取的用户名是一个额外的呼叫,这里是我做的,可以给他们打电话在100批次我的使用,我将它们映射到一个静态图的方法,但你明白了。

public static HashMap<Long,String> usernameMap = new HashMap<Long,String>(); 

public static void requestBatch(long[] batch,Twitter twitter) throws TwitterException 
{ 
    ResponseList<User> responseList = twitter.lookupUsers(batch); 
    for(User u : responseList){ 
     usernameMap.put(u.getId(), u.getScreenName()); 
    } 
} 
+0

谢谢,我尝试了一下你的解决方案。但我调用lookupusers()时出现错误,它是“TwitterException {exceptionCode = [e39d013b-2e5d0c1b],statusCode = 404,message =对不起,该页面不存在,code = 34,retryAfter = -1,rateLimitStatus = RateLimitStatusJSONImpl {剩余= 178,限制= 180,resetTimeInSeconds = 1384761999,secondsUntilReset = 819},版本= 3.0.0}“。你有什么想法吗? – user2008973

+0

哦,如果用户标识不存在,查找用户将抛出404。你可以捕捉并处理它(TwitterException te) –

+0

非常感谢你,我做了它的工作,当然你的帮助。通过参数批次我犯了一个荒谬的错误。我在第一篇文章中发布了代码。 – user2008973

相关问题