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?

Aktualisieren

Mit 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 hier

Dieses 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)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage