2014-12-07 3 views
0

У меня есть проект term, в котором его часть анализирует объект JSON twitter. Я использую Джерси и JAX-RS Я изначально попытался разобрать его непосредственно с помощью моего клиента из Джерси, и это был мой первоначальный код: (исходная ссылка: https: // api.twitter. Com/1.1/search/tweets. json? q =% 23coldplay)Twitter4J: Поиск твитов от HashTag, получить результат JSON только

public static String lastFMHTTP() { 
    Client client = ClientBuilder.newClient(); 
    String Str = client.target("https://api.twitter.com/") 
         .path("1.1") 
         .path("tweets.json?") 
         .queryParam("q", "#coldplay") 
         .queryParam("result_type", "recent") 
         .request(MediaType.APPLICATION_JSON_TYPE) 
         .get(String.class); 
    return Str; 
} 

Но это не получилось слишком хорошо; Я не понимаю, как пройти твиты.json? в качестве параметра, и это в любом случае вернуло бы «плохие данные аутентификации» (я попробовал другой метод разбора без путей и запросов). Однако этот код работал для моего последнего запроса. Ключ api включен в URL-адрес

После некоторого поиска у меня есть twitter4j, который является библиотекой, созданной специально для этой цели. Мне удалось успешно получить ответ JSON. Это код, который я использую:

public static String twitterHTTP() throws TwitterException { 
    Twitter twitter = TwitterFactory.getSingleton(); 
    Query query = new Query("#coldplay"); 
    QueryResult result = twitter.search(query); 
    return result; 
} 

Когда я запускаю этот метод, object.twitterHTTP(); Он печатает информацию в моей консоли. Мне вообще ничего не нужно печатать, мне просто нужно вернуть строку в формате JSON.

Какой у меня лучший вариант? Есть ли способ аутентифицировать Twitter через первый код или есть способ удалить все отпечатки из второго кода и вернуть ли он объект строки? Спасибо

+0

'' tweets.json? "' <- '' 'не должно быть. Он неявно добавляется при использовании параметров запроса. –

+0

_ «Он печатает всякую информацию о нежелательной информации в моей консоли» _ - «мусор» одного разработчика - это еще одно сокровище разработчика (по крайней мере, в смысле информационного сокровища :-) Возможно, он хочет вам кое-что сказать. –

+0

@peeskillet Я попытался удалить его, но он даже не дал мне код состояния ошибки мусор: arrrghh –

ответ

0

Эврика, у меня это есть. Я так счастлив, что теперь могу умереть. Отладка была установлена ​​в true в моем файле twitter4j.properties, поэтому я получил всю эту «нежелательную» информацию, распечатанную, что на самом деле оказалось журналом. Установка debug to false решила проблему, и журналы больше не печатались.

И оказалось, что на самом деле мне не нужен был ответ JSON, который будет возвращен как отдельная строка; причина, по которой я хотел это, заключалась в создании классов/методов и объектов для анализа ответа JSON, когда на самом деле библиотека twitter4j предоставляла методы для синтаксического анализа. Таким образом, мне не нужно создавать новый код.

 Смежные вопросы

  • Нет связанных вопросов^_^