Twitter4j : Search for public tweets

标签 twitter twitter4j

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

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 上注册您的应用。仅当您拥有自己的私有(private)帐户时才可以这样做。获得 ConsumerKeyConsumerSecretAccessTokenAccessTokenSecret 后(在您注册应用程序时将向您提供它们) ),最简单的解决方案是将代码更改为以下示例:

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 : Search for public tweets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545936/

相关文章:

javascript - 当用户在应用程序中浏览 Twitter 内部时如何检测页面?

rest - Twitter 休息 API : 404 No user matches for specified terms

Android 推特登录错误

java - 如何使用高级参数执行 Twitter 搜索

java - Twitter4j 在 Android 4 中崩溃

java - 推特 hosebird 客户端不工作

java - 如何识别 Twitter4j RateLimitStatusEvent 包含哪个端点的限制

javascript - Twitterbot使用node和javascript不断循环

android - 如何克服android twitter认证异常(401)?

android - 由于缺少依赖项,Twitter Fabric 无法在 Android Studio 中安装