2013-11-14 181 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

相關問題