CUIでもTwitter Java(twitter4j)でTwitterクライアントを作ってみた
2010 年 4 月 10 日
ブログ書くの何ヶ月ぶりだろうか・・・忙しかったんです年度末は。
DosプロンプトでTwitter
EclipseのコンソールからもTwitterしたり、TeraTermでいかにも仕事しているフリでつぶやいちゃったり出来るかも?Twitterクライアントを作ってみました。(今更感がありますが・・・作ってみたいだけです)
EclipseコンソールでTwitter
Javaで書く
今回はJavaでつくってみました。Java初心者の人とかには結構オススメな感じだと思うんだけど、
新人教育とかにどうかなぁ。
Twitter4Jを使う
Javaで書くにあたって「Twitter4J」という素晴らしいTwitter API の Java ラッパがありますのでコレを使わせてもらいます。
今回は、簡単にソースを見れるようにしたかったので、ひとつのクラスに機能をぶち込んだ。
もっとJavaっぽく書くなら、機能毎にクラス分けしたりちゃんと書くといいでしょう。
Twitter認証もソースの中に固定で書いています。
引数にしたりiniにしたりすると楽しいでしょう。
えーっと、中身の説明はしないのでソースを以下からコピってコンパイルして(Twitter4Jライブラリも忘れずに)使ってください。
簡単なのですぐに解ると思います。
機能は、友達の(フォロー中の)つぶやきを20件表示、つぶやく、リフレッシュ、終了だけです。
他機能はTwitterAPI観て作ってください。すごいのができたら僕にください。
「Twitter4J」が必要なのでダウンロードして下さい。
簡単な説明、使い方
コンソールで実行すると「ようこそ!」の後に20件のつぶやき表示
「いまどうしてる?:」がでるのでつぶやいて「Enterキー」でつぶやけます。
リフレッシュしたい場合は「いまどうしてる?:」に「RF入力」+「Enterキー」でリフレッシュ
終わりたいときは「END入力」+「Enterキー」で終了。
だんだん雑になってきたのでこのへんで終了。
Javaソースコード
/**
*
* Terminal Dosプロンプト Eclipse等のCUIコンソールでTwitterをやってみる。
* Twitter4Jを使用[Twitter4J は Twitter API の Java ラッパです。]
* Twitterクライアント TwitStFun
*
* @author studio-fun.net kan
* @version 1.0
*
*/
package net.studiofun;
import java.io.*;
import java.util.List;
import twitter4j.*;
public class TwitStFun {
/**
*
* メイン処理
*
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO 自動生成されたメソッド・スタブ
String[] usrauth = args;//アカウント、パスワード受け取ってもいいかも。
// Twitter認証(とりあえず固定で埋込)
Twitter twitter = new TwitterFactory().getInstance("account","pass");
// BufferedReader
BufferedReader stdReader = new BufferedReader(new InputStreamReader(System.in));
String StrLine;
String strOut;
// ようこそ!画面
System.out.println("ようこそ!");
//タイムラン取得
friendsTimeline(twitter);
System.out.print("\nいまどうしてる?: ");
while ((StrLine = stdReader.readLine()) != null) { // ユーザの「つぶやき」入力を待つ(loop)
//から文字だったら何もしない。
if (StrLine.equals("")){
}else if (StrLine.equals("END")){
break;
}else if(StrLine.equals("RF")){//リフレッシュだったら、再読み込み
friendsTimeline(twitter);
}else{
strOut = twUpdate(twitter, StrLine);
}
//System.out.print("OUTPUT: " + strOut);
System.out.print("\nいまどうしてる?: ");
}
stdReader.close();
}
/**
*
* つぶやき(updateStatus)メソッド
*
* @param twit Twitter
* @param tweet つぶやき
* @return ステータスを返す
*/
private static String twUpdate(Twitter twit, String tweet) {
Status status = null;
try {
//Tweet
status = twit.updateStatus(tweet);
} catch (Exception e) {
e.printStackTrace();
}
return status.getText();
}
/**
*
* 友達つぶやき一覧取得&出力
*
* @param twit Twitter
*/
private static void friendsTimeline(Twitter twit){
try{
//1ページ目をリクエスト, 1ページあたりの件数は 20件
Paging paging = new Paging(1, 20);
List<Status> statuses = twit.getFriendsTimeline(paging);
for (Status status : statuses) {
System.out.println("■[ " + status.getUser().getScreenName() + " ]:" + status.getText());
}
}catch (Exception e){
e.printStackTrace();
}
}
}



4月 24th, 2010 at 5:13 PM
ご無沙汰しております。
お忙しかったんですね、お疲れさまでした。
最近ツイッターをはじめてみましたが、やっぱり私はブログの方が好きです。。。
4月 24th, 2010 at 5:42 PM
お久しぶりです。
僕も最初は何が楽しいんだろう?と思ってアカウント取って1年くらいは放ったらかしでした。
スマートフォンをソロソロ買おうと思っているのでそしたら何処でもつぶやけるし、何処でもチェック出来るので楽しくなるかな?
最近はブログより集客というか、人を呼ぶ能力は抜群な気がします。
よく解らないけどちょっとやっていると楽しくなりますよ(人によるとは思うけど)
僕のアカウントなのでよかったらフォローしてください。 では、また。コメントどうもです。
http://twitter.com/studio_fun