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());
}
问题是good打印状态、状态id和用户,但是user feature如何将用户id、位置等打印为null。我能做些什么来获取功能????
感谢回复
根据JTwitter API文档,调用默认构造函数创建一个没有用户的新实例。您需要使用Twitter.IHttpClient
(这取决于Signpost)与Twitter进行身份验证以获取用户数据。
Twitter搜索方法很不寻常,因为它只返回一小部分用户信息。这是Twitter的一个限制。那是你无能为力的。
location等字段将为空。
您总是获得屏幕名称,这可以用于通过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负载过重,其他方法有时会返回User中缺少的字段。