OSDN Git Service

DB\82ð\8eg\97p
[traindelaybot/source.git] / workspace / .metadata / .plugins / org.eclipse.core.resources / .history / 2c / a09dafda8a6500111e5bcf098ae37dc9
1 package com.yuji.tdb;\r
2 \r
3 import java.io.IOException;\r
4 \r
5 import javax.servlet.http.HttpServlet;\r
6 import javax.servlet.http.HttpServletRequest;\r
7 import javax.servlet.http.HttpServletResponse;\r
8 \r
9 import twitter4j.Twitter;\r
10 import twitter4j.TwitterException;\r
11 import twitter4j.TwitterFactory;\r
12 import twitter4j.auth.AccessToken;\r
13 import twitter4j.auth.OAuthAuthorization;\r
14 import twitter4j.auth.RequestToken;\r
15 import twitter4j.conf.Configuration;\r
16 import twitter4j.conf.ConfigurationBuilder;\r
17 \r
18 import com.yuji.tdb.common.CommonUtil;\r
19 import com.yuji.tdb.twitter.TwitterUtil;\r
20 \r
21 @SuppressWarnings("serial")\r
22 public class TrainDelayBotServlet extends HttpServlet {\r
23         private static RequestToken requestToken = null;\r
24         private static AccessToken accessToken = null;\r
25         private static String consumerKey = null;\r
26         private static String consumerSecret = null;\r
27 \r
28         public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
29                         throws IOException {\r
30                 resp.setContentType("text/plain");\r
31                 resp.getWriter().println(" traindelaybot Hello, world");\r
32 \r
33                 String parmConsumerKey = req.getParameter("key");\r
34                 String consumerSecret = req.getParameter("secret");\r
35                 String result = req.getParameter("result");\r
36                 if (!CommonUtil.isNull(parmConsumerKey)\r
37                                 && !CommonUtil.isNull(consumerSecret)) {\r
38                         setOAuthAuthorization(req, resp, parmConsumerKey, consumerSecret);\r
39                         return;\r
40                 }\r
41 \r
42                 if (requestToken == null\r
43                                 || CommonUtil.isNull(TrainDelayBotServlet.consumerKey)\r
44                                 || CommonUtil.isNull(TrainDelayBotServlet.consumerSecret)) {\r
45                         return;\r
46                 }\r
47 \r
48                 if (!CommonUtil.isNull(result)) {\r
49                         resultOAuthAuthorization();\r
50                         return;\r
51                 }\r
52 \r
53                 // TODO null check\r
54                 TwitterUtil util = TwitterUtil.getInstance();\r
55                 util.main(TrainDelayBotServlet.consumerKey,\r
56                                 TrainDelayBotServlet.consumerSecret, accessToken);\r
57         }\r
58 \r
59         private void setOAuthAuthorization(HttpServletRequest req,\r
60                         HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
61                 try {\r
62                         ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
63 \r
64                         confBuilder.setDebugEnabled(true);\r
65                         confBuilder.setOAuthConsumerKey(consumerKey);\r
66                         confBuilder.setOAuthConsumerSecret(consumerSecret);\r
67                         Configuration conf = confBuilder.build();\r
68 \r
69                         String url = req.getRequestURL().toString();\r
70 \r
71                         OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
72                         // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
73                         // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
74                         String callbackURL = url + "?result=yes";\r
75                         // RequestToken requestToken =\r
76                         // oauth.getOAuthRequestToken(callbackURL);\r
77                         requestToken = oauth.getOAuthRequestToken(callbackURL);\r
78                         // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
79                         // sessionScope("RequestToken", requestToken);\r
80                         // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
81 \r
82                         TrainDelayBotServlet.consumerKey = consumerKey;\r
83                         TrainDelayBotServlet.consumerSecret = consumerSecret;\r
84 \r
85                         resp.sendRedirect(requestToken.getAuthenticationURL());\r
86                 } catch (TwitterException e) {\r
87                         // TODO Auto-generated catch block\r
88                         e.printStackTrace();\r
89                 } catch (IOException e) {\r
90                         // TODO Auto-generated catch block\r
91                         e.printStackTrace();\r
92                 }\r
93         }\r
94 \r
95         private void resultOAuthAuthorization() {\r
96                 try {\r
97                         // Twitter twitter = new TwitterFactory().getInstance();\r
98                         // String tokenKey = requestToken.getToken();\r
99                         // String tokenSecret = requestToken.getTokenSecret();\r
100 \r
101                         ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
102                         confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
103                                         .setOAuthConsumerSecret(consumerSecret);\r
104                         TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
105                         Twitter twitter = factory.getInstance();\r
106 \r
107                         accessToken = twitter.getOAuthAccessToken(requestToken);\r
108                 } catch (TwitterException e) {\r
109                         // TODO Auto-generated catch block\r
110                         e.printStackTrace();\r
111                 }\r
112         }\r
113 }\r