Я пытаюсь просканировать твиттер для твитов со специальным #hashtag и возвращающимся json Мне нужно только id, date, userid, текст твита, экспортированный в cvs.Как использовать Twitter API json с java
мой код выглядит следующим образом.
import oauth.signpost.OAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.*;
public class CrawlTweets {
static String AccessToken = "xxx";
static String AccessSecret = "xxx";
static String ConsumerKey = "xxx";
static String ConsumerSecret = "xxx";
/**
* @param args
*/
public static void main(String[] args) throws Exception {
OAuthConsumer consumer = new CommonsHttpOAuthConsumer(
ConsumerKey,
ConsumerSecret);
consumer.setTokenWithSecret(AccessToken, AccessSecret);
HttpGet request = new HttpGet("https://api.twitter.com/1.1/search/tweets.json?q=%23Nutella&lang=en");
consumer.sign(request);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(request);
JSONObject obj = new JSONObject(response);
String id = obj.get("id").toString();
System.out.println(id);
}
}
я получаю следующее исключение:
Exception in thread "main" org.json.JSONException: JSONObject["id"] not found.
at org.json.JSONObject.get(JSONObject.java:459)
at CrawlTweets.main(CrawlTweets.java:41)
Что не так с кодом? Как я могу извлечь указанную информацию и поставить в cvs? Благодарю.
Нет, ответ полностью прекрасен. Я думаю, что obj.get («id») является проблемой ... если я изменю его на obj.get («statuses»). ToString() возвращает что-то, но слишком много. Мне нужен только текст, дата и пользователь. И я не понимаю, как получить доступ к этой информации. – desperateCoder