OSDN Git Service

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