#java #twitter
#java #Twitter
Вопрос:
Я хочу получить домашнюю временную шкалу из Twitter, и я смог получить домашнюю временную шкалу, используя twitter4j
метод аутентификации и oauth
ConfigurationBuilder confBuilder = new ConfigurationBuilder();
confBuilder.setOAuthAccessToken(accessToken.getToken())
.setOAuthAccessTokenSecret(accessToken.getTokenSecret())
.setOAuthConsumerKey(key)
.setOAuthConsumerSecret(secret);
Twitter twit = new TwitterFactory(confBuilder.build()).getInstance();
User user = twitter.verifyCredentials();
List<Status> statuses = twitter.getHomeTimeline();
но результат получается не в виде файла .xml или JSON. я также пытался
WebResource resource = client.resource("https://api.twitter.com/1/statuses/user_timeline.json");
но все, что я получаю, это GET https://api.twitter.com/1/statuses/user_timeline.json returned a response status of 401 Unauthorized
Я много раз гуглил, но просто не могу понять, что к чему. Пожалуйста, мне нужен пример Java-кода о том, как это сделать. Полный код, который можно запустить сразу, был бы действительно полезен, так как я получил много частично закодированных программ и просто не мог заставить их работать. заранее благодарю вас
Ответ №1:
Хорошо, итак, после просмотра примечаний к выпуску для версий 2.2.x, похоже, есть способ получить представление JSON из Twitter4J, но по умолчанию оно отключено, поскольку оно использует дополнительную память.
Итак, вам нужно:
- Включите JSONStore, используя параметр
jsonStoreEnabled
config - Получить представление запроса в формате JSON с помощью метода getRawJson
Ответ №2:
401 Неавторизованный: учетные данные для аутентификации отсутствовали или были неверными.
Перед выполнением запроса вам необходимо пройти проверку подлинности.
Комментарии:
1. Документы API twitter описывают это в некоторых деталях: dev.twitter.com/docs/auth/moving-from-basic-auth-to-oauth2. @MikeHouston Плюс библиотека Twitter, которую он использует, предоставляет эту функциональность.