Проблемы с пользовательскими функциями с 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());
    }

Проблема в том, что хорошо печатать статус, идентификатор статуса и пользователя, но пользователь показывает, как идентификатор пользователя, местоположение и т. Д. Печатает все как ноль. Что я могу сделать, чтобы использовать функции????

Спасибо за ответ

2 ответа

Согласно Документам JTwitter API, вызов конструктора по умолчанию создает новый экземпляр без пользователя. Вам нужно авторизоваться с помощью Twitter Twitter.IHttpClient (который зависит от Signpost), чтобы получить пользовательские данные.

Метод поиска в 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.

Примечание: другие методы иногда возвращают пропущенные поля в User, если Twitter испытывает большую нагрузку.

Другие вопросы по тегам