2011-09-26 57 views
-1

我的代碼是:使用Jtwitter的用戶功能問題

  List<Status> list = new ArrayList<Status>(); 
    User user; 
    Twitter twitter = new Twitter();  
    list = twitter.search(string); 

    for(int i=0; i<list.size();i++){ 
     user=list.get(i).getUser(); 
     System.out.print(i+1); 
     System.out.println(list.get(i)); 
     System.out.println(list.get(i).getId()); 
     System.out.println(list.get(i).getUser()); 
     System.out.println(user.getId()); 
     System.out.println(user.getCreatedAt()); 
     System.out.println(user.getLocation()); 
     System.out.println(user.getFavoritesCount()); 
    } 

問題在於打印狀態,狀態和用戶的ID,但是用戶功能如何將用戶ID,位置等打印爲null。我能做些什麼來拍攝這些功能????

感謝您的回覆

+4

我試着回答你的問題,但找不到問號,或者是一個構成問題的句子。我很抱歉。 –

+0

請發佈您的用戶類 –

+0

不知道'user.get ***()'方法的代碼,我們無法知道它們爲什麼返回null。 – BenCole

回答

0

按照JTwitter API Docs,調用默認的構造函數沒有用戶創建一個新的實例。您需要使用Twitter.IHttpClient(取決於Signpost)與Twitter進行身份驗證以獲取用戶數據。

0

Twitter的搜索方法的問題在於它只返回的用戶信息的一小部分不尋常的。這是來自Twitter &的限制,你無能爲力。

領域,如位置將是空白。

你總是得到屏幕的名稱,這可以用來獲取通過show()方法的額外的信息。例如。

Twitter twitter; 
List<String> userNames; // make this list from user.screenName 
List<User> fullUserInfo = twitter.users().show(userNames) 

如果你有JTwitter的一個上最新副本(http://www.winterwell.com/software/jtwitter.php)它是所有在Javadoc。

注:其他方法有時返回用戶丟失的領域,如果Twitter正經歷着沉重的負擔。