前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Twitter4jを使ってコンソールに検索したツイートの出力を行いたいのですが、エラーが発生します。
どこでエラーが出ているのか分からずお手上げ状態です、、、
発生している問題・エラーメッセージ
xception in thread "main" java.lang.IllegalStateException: Authentication credentials are missing.
該当のソースコード
Java
1import java.util.List; 2 3import twitter4j.Query; 4import twitter4j.QueryResult; 5import twitter4j.Status; 6import twitter4j.Twitter; 7import twitter4j.TwitterException; 8import twitter4j.TwitterFactory; 9import twitter4j.conf.ConfigurationBuilder; 10 11public class Main { 12 private static Twitter twitter; 13 14 public static void main(String[] args) throws TwitterException { 15 if (twitter == null) { 16 //コンフィグ 17 ConfigurationBuilder cb = new ConfigurationBuilder(); 18 cb.setDebugEnabled(true) 19 .setOAuthConsumerKey("XXX") 20 .setOAuthConsumerSecret("XXX") 21 .setOAuthAccessToken("XXX") 22 .setOAuthAccessTokenSecret("XXX"); 23 TwitterFactory tf = new TwitterFactory(cb.build()); 24 twitter = tf.getInstance(); 25 26 Twitter twitter1 = TwitterFactory.getSingleton(); 27 String strText; 28 Query query = new Query("東京"); 29 //検索結果を取得 30 QueryResult result = twitter1.search(query); 31 //検索結果のツイートを取得 32 List<Status> twiSearches = result.getTweets(); 33 //ツイートの表示 34 for (Status tweet1 : twiSearches) { 35 //改行記号を除去(半角スペースに変換) 36 strText = tweet1.getText().replaceAll("\r\n", " "); 37 strText = strText.replaceAll("\r", " "); 38 strText = strText.replaceAll("\n", " "); 39 //タブ記号を除去(半角スペースに変換) 40 strText = strText.replaceAll("\t", " "); 41 //コンソールに出力する(位置情報、日時、ユーザ名、ツイート) 42 System.out.println(tweet1.getGeoLocation() + "\t" + tweet1.getCreatedAt().toString() + "\t" 43 + tweet1.getUser() + "\t" + strText); 44 } 45 } 46 } 47} 48
試したこと
APIを用いての呟きはできましたのでコンフィグは問題ないと思います。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー