So suchen Sie nach Tweets mit Twitter API 1.1 und Java
Die Twitter-API wurde von 1.0 auf 1.1 geändert. Jetzt muss für jede Art von Abfrage eine Berechtigung erteilt werden. Ich benutze Java zum Holen von Tweets. Kann mir jemand ein Java-Beispiel für das Abrufen von Tweets mithilfe der OAuth-Authentifizierung geben?
AktualisierenMit twitter4j api ist das möglich.http://twitter4j.org/en/. Ein Beispiel ist unten angegeben
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);
}
Probleme hierDieses Beispiel funktioniert unabhängig, wenn ich als Java-Klasse ausgeführt habe. Aber wenn ich diesen Code in eine JSP füge, um ihn in der Webanwendung zu testen, funktioniert er nicht. Es zeigt mir folgende Ausnahme
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)