指定ユーザの最新ツイートを取得する方法を調査しました。
まず、最新のツイートを指す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"); }