Проблемы с пользовательскими функциями с 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 испытывает большую нагрузку.