指定ユーザの最新ツイートを取得する方法を調査しました。
まず、最新のツイートを指すURIは下記となります。
http://api.twitter.com/1/statuses/user_timeline/<ユーザ名>.<形式>?count=1
<ユーザ名>・・・取得したユーザ名(ユーザID)
<形式>・・・JSON形式の場合は.json、xml形式の場合は.xml等
※count=1は一件取得する場合のクエリ。
例)Yuki_312の最新ツイートを1件JSON形式で取得した場合
http://api.twitter.com/1/statuses/user_timeline/Yuki_312.json?count=1
上記URIから、HttpURLConnectionなどを使用してツイートを取得する。
※HttpURLConnectionを使用したHTTP通信の方法は割愛
最新のツイートをbyte配列で取得した場合、下記でJSONArray型に変換すると
便利。
JSONArray json = new JSONArray( new String(/*最新のツイート*/recentTweet(), "UTF-8"));
JSONArray型に変換できればあとは順々にデータを取得すればOKです。
ツイート日付の取得はちょっとコツが必要。
int len = json.length();
for (int i = 0; i < len; i++) {
JSONObject tweet = json.getJSONObject(i);
String text = tweet.getString("text");
// ツイート日付の取得
SimpleDateFormat df = new SimpleDateFormat("EEE MMM d HH:mm:ss Z yyyy", Locale.ENGLISH);
df.setTimeZone(TimeZone.getTimeZone("GMT"));
Date created_at_en = df.parse(tweet.getString("created_at"));
String created_at_ja = DateFormat.getDateInstance(DateFormat.FULL, Locale.JAPAN)
.format(created_at_en);
JSONObject user = tweet.getJSONObject("user");
String screen_name = user.getString("screen_name");
}