使用Jtwitter的用户功能问题

时间:2011-09-26 18:57:28

标签: java search status 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。我可以采取什么功能????

感谢您的回复

2 个答案:

答案 0 :(得分:0)

根据JTwitter API Docs,调用默认构造函数会创建一个没有用户的新实例。您需要使用Twitter.IHttpClient(取决于Signpost)通过Twitter进行身份验证才能获取用户数据。

答案 1 :(得分:0)

Twitter搜索方法很不寻常,因为它只返回用户信息的一小部分。这是Twitter和Twitter的限制。你无能为力。

位置等字段将为空白。

您始终可以获取屏幕名称,这可用于通过show()方法获取额外信息。 E.g。

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中返回缺少的字段。