Twitter4j:搜索公共推文 [英] Twitter4j : Search for public tweets

查看:38
本文介绍了Twitter4j:搜索公共推文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 Twitter4j 库在公共推文中进行搜索?

How does one search within public tweets using the Twitter4j library ?

public static void main(String[] args) {
        Twitter twitter = new TwitterFactory().getInstance();
        try {
            Query query = new Query("Cocaine");
            QueryResult result;
            do {
                result = twitter.search(query);
                List<Status> tweets = result.getTweets();
                for (Status tweet : tweets) {
                    System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
                }
            } while ((query = result.nextQuery()) != null);
            System.exit(0);
        } catch (TwitterException te) {
            te.printStackTrace();
            System.out.println("Failed to search tweets: " + te.getMessage());
            System.exit(-1);
        }
    }

这给了我一个身份验证凭据丢失.错误

推荐答案

您需要为 Twitter 注册您的应用.如果您拥有自己的私人帐户,则只能这样做.在您获得 ConsumerKeyConsumerSecretAccessTokenAccessTokenSecret 后(它们会在您注册应用程序后呈现给您)),最简单的解决办法就是把代码改成下面的例子:

You need to register your app for Twitter. You can only do that if you have your own private account. After you obtain ConsumerKey, ConsumerSecret, AccessToken and AccessTokenSecret (they will be presented to you afret you register your application), the simplest solution is to change the code to the following example:

public static void main(String[] args) {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
          .setOAuthConsumerKey("yourConsumeKey")
          .setOAuthConsumerSecret("yourConsumerSecret")
          .setOAuthAccessToken("yourAccessToken")
          .setOAuthAccessTokenSecret("yourTokenSecret");
    TwitterFactory tf = new TwitterFactory(cb.build());
    Twitter twitter = tf.getInstance();
        try {
            Query query = new Query("query");
            QueryResult result;
            result = twitter.search(query);
            List<Status> tweets = result.getTweets();
            for (Status tweet : tweets) {
                System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
            }

            System.exit(0);
        } catch (TwitterException te) {
            te.printStackTrace();
            System.out.println("Failed to search tweets: " + te.getMessage());
            System.exit(-1);
        }
}

这篇关于Twitter4j:搜索公共推文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆