-1

我的代码是:

     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、位置等如何打印为空。我能做些什么来获取这些功能????

感谢您的回复

4

2 回答 2

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 负载过重,其他方法有时会返回 User 中缺少的字段。

于 2012-03-02T10:46:27.670 回答
0

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

于 2011-09-26T19:39:56.217 回答