OSDN Git Service

一定間隔で情報を更新する際に利用するタスクマネージャーを作成.まだテストはおこなっていない.
[nt-manager/nt-manager.git] / src / TestDriver.java
1 import java.io.BufferedReader;
2 import java.io.FileNotFoundException;
3 import java.io.IOException;
4 import java.io.InputStreamReader;
5 import java.util.List;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
8
9 import org.xml.sax.SAXParseException;
10 import twitter.action.TweetSearchResultGetter;
11
12 import twitter.log.TwitterLogManager;
13 import twitter.manage.TweetManager;
14 import twitter4j.Status;
15 import twitter4j.Twitter;
16 import twitter4j.TwitterException;
17 import twitter4j.TwitterFactory;
18 import twitter4j.conf.Configuration;
19 import twitter4j.conf.ConfigurationBuilder;
20 import twitter4j.http.AccessToken;
21 import twitter4j.http.RequestToken;
22
23 public class TestDriver {
24         private static final String CONSUMER_KEY = "tbo5erit2M2ZzN6n8tEYcA";
25     private static final String CONSUMER_SECRET = "tODurbdySLYU1pKjtB3MQTDRBGy562dHzVf7d62mm8";
26
27     /***
28      * ユーザIDとパスワードで認証する。
29      *
30      * @param userId
31      *            ユーザID
32      * @param password
33      *            パスワード
34      * @return Twitterクラスのインスタンス<BR>
35      *         認証に失敗した場合はnull
36      */
37     public static Twitter getInstance(String userId, String password) {
38         Configuration conf = getConfiguration();
39
40         TwitterFactory twitterfactory = new TwitterFactory(conf);
41         Twitter twitter = twitterfactory.getInstance(userId, password);
42
43         try {
44             twitter.getOAuthAccessToken();
45         } catch (TwitterException e) {
46             return null;
47         }
48
49         return twitter;
50     }
51
52     /***
53      * アクセストークンを使って認証する
54      *
55      * @param accessToken
56      *            アクセストークン
57      * @return Twitterクラスのインスタンス<BR>
58      *         認証に失敗した場合はnull
59      */
60     public synchronized static Twitter getOAuthAuthorizedInstance(String token, String token_secret) {
61         Configuration conf = getConfiguration();
62         TwitterFactory twitterfactory = new TwitterFactory(conf);
63         Twitter twitter = twitterfactory.getOAuthAuthorizedInstance(new AccessToken(token, token_secret));
64
65         try {
66             twitter.getId();
67         } catch (TwitterException e) {
68             return null;
69         }
70
71         return twitter;
72     }
73
74     /***
75      * Configurationを生成する
76      *
77      * @return
78      */
79     private static Configuration getConfiguration() {
80         ConfigurationBuilder confbuilder = new ConfigurationBuilder();
81         confbuilder.setOAuthConsumerKey(CONSUMER_KEY);
82         confbuilder.setOAuthConsumerSecret(CONSUMER_SECRET);
83         return confbuilder.build();
84     }
85
86
87         public static void main(String[] args) {
88                 TweetManager tweetManager = new TweetManager();
89         TweetSearchResultGetter searchGetter = new TweetSearchResultGetter(tweetManager, "followme");
90         try {
91             tweetManager.loginTwitter();
92             List<Status> status = searchGetter.getNewTweetData();
93             for( Status s : status ) {
94                 System.out.println( s );
95             }
96
97             System.out.println("---");
98
99             List<Status> status2 = searchGetter.getTweetData(5);
100             for( Status s : status2 ) {
101                 System.out.println( s );
102             }
103         } catch (FileNotFoundException ex) {
104             Logger.getLogger(TestDriver.class.getName()).log(Level.SEVERE, null, ex);
105             ex.printStackTrace();
106         } catch (IOException ex) {
107             Logger.getLogger(TestDriver.class.getName()).log(Level.SEVERE, null, ex);
108             ex.printStackTrace();
109         }
110         }
111 }