Twitter4jライブラリ Tweetクラスのメソッドを実際に出力する

Twitter4Jとは?

Twitter4J は Twitter APIJava ラッパです。
Twitter4J を使うと XML や HTTP に詳しくなくても容易に Twitter とインタラクトするアプリケーションを書くことが出来ます。
Twitter4J は Twitter 非公式のライブラリです。

コード概要

  • Twitter4JのTweetクラスのメソッドの出力を確認する。
  • java」という単語があるツイートを表示する。
  • getCreatedAtメソッドをUTCからJSTに変換する処理を入れてます。

(もっといい方法がありましたら、教えて下さい!)

  • class名、import文が入っていませんので、そのままコピペはできません。

コード(Java Servlet)

public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {
		resp.setContentType("text/html; charset=UTF-8");
		
		try {
			Twitter twitter = new TwitterFactory().getInstance();
			Query query = new Query("java");

			QueryResult result = twitter.search(query);
			
			Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("JST"));
			PrintWriter out = resp.getWriter();
			out.println("<html>");
			out.println("<head>");
			out.println("<title>");
			out.println("Tweetクラスの出力");
			out.println("</title>");
			out.println("</head>");
			out.println("<body>");
			//out.println("result.getMaxId()::" + result.getMaxId());
			//out.println("result.getPage()::" + result.getPage());
			out.println("<hr />");
			
			
			out.println("<table border=1>");
			out.println("<tr>");

			out.println("<th>");
			out.println("getFromUser");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getFromUserId");
			out.println("</th>");
			
			
			out.println("<th>");
			out.println("getId");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getIsoLanguageCode");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getLocation");
			out.println("</th>");
			
			
			out.println("<th>");
			out.println("getProfileImageUrl");
			out.println("</th>");
			
			
			out.println("<th>");
			out.println("getSource");
			out.println("</th>");
			
			
			out.println("<th>");
			out.println("getText");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getToUser");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getToUserId");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getAnnotations");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getCreatedAt(整形済)");
			out.println("</th>");
			
			out.println("<th>");
			out.println("getGeoLocation");
			out.println("</th>");
			
			out.println("</tr>");
			DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.JAPAN);
			for (Tweet tweet: result.getTweets()) {
				cal.setTime(tweet.getCreatedAt());
				
				Date date = new Date(cal.getTimeInMillis());
				df.setTimeZone(TimeZone.getTimeZone("JST"));
				
				out.println("<tr>");
				
				out.println("<td>");
				out.println(tweet.getFromUser());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getFromUserId());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getId());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getIsoLanguageCode());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getLocation());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getProfileImageUrl());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getSource());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getText());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getToUser());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getToUserId());
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getAnnotations());
				out.println("</td>");
				
				out.println("<td>");
				//tweet.getCreatedAt()
				out.println(df.format(date));
				out.println("</td>");
				
				out.println("<td>");
				out.println(tweet.getGeoLocation());
				out.println("</td>");
								
				out.println("</tr>");
				
			}
			
			out.println("</table>");
			out.println("</body>");
			out.println("</html>");
			
		} catch (TwitterException e) {
			e.printStackTrace();
		}
	}