Como procurar por tweets usando o twitter API 1.1 e java
A API do Twitter foi alterada de 1.0 para 1.1. Agora, para qualquer tipo de consulta, ele deve ser autorizado. Eu estou usando o java para buscar tweets. Alguém pode me dar algum exemplo java de tweet buscando usando a autenticação OAuth.
AtualizarUsando o twitter4j api é possível.http://twitter4j.org/en/. um exemplo é dado abaixo
Twitter twitter = new TwitterFactory().getInstance();
AccessToken accessToken = new AccessToken("Your-Access-Token", "Your-Access-Token-Secret");
twitter.setOAuthConsumer("Consumer-Key", "Consumer-Key-Secret");
twitter.setOAuthAccessToken(accessToken);
try {
Query query = new Query("#IPL");
QueryResult result;
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
}
}
catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
Problemas aquiEste exemplo funciona de forma independente quando eu corri como uma classe Java. Mas quando eu adiciono este código em um JSP para testes no webapp, ele não funciona. Me mostra seguinte exceção
SEVERE: Servlet.service() for servlet [jsp] in context with path [/mypub] threw exception [java.lang.IllegalStateException: consumer key/secret pair already set.] with root cause
java.lang.IllegalStateException: consumer key/secret pair already set.
at twitter4j.TwitterBaseImpl.setOAuthConsumer(TwitterBaseImpl.java:264)
at com.me.framework.tag.core.TweetFetch.doTag(TweetFetch.java:50)
at org.apache.jsp.template.test_jsp._jspx_meth_wf_002dcore_005ftweetFetch_005f0(test_jsp.java:100)
at org.apache.jsp.template.test_jsp._jspService(test_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)