はてなハイクのAPIはTwitterと互換性があるとのこと。
私はJavaScriptではてなハイクとTwitterの過去の投稿を抽出しているのですが、確かに同じコードで動きます。
しかし若干、異なる点があるので、書いておきます。
URL
はてなハイクの場合
http://h.hatena.ne.jp/api/statuses/user_timeline/stabucky.json
Twitterの場合
http://twitter.com/statuses/user_timeline/stabucky.json
ユーザーIDを指定して記事をJSON形式で取得する場合のURLです。
当然、最初は違いますが、途中からは同じ。
日時
はてなハイクの場合
「2009-02-20T22:57:59Z」
Twitterの場合
「Fri Feb 20 22:57:59 +0000 2009」
「2009年2月20日 22:57:59」が上のように表記されます。両方とも標準時ですので、日本時間だと「2009年2月21日 7:57:59」です。
JSON形式で取得する場合の添え字は「created_at」。
JavaScriptで変換するならば次のようなコード。
function hatenadate(td) {
re=/^(....)-(..)-(..)T(..:..:..)Z$/;
pat="$2/$3/$1 $4 UTC+0000"
rep=new Date(td.replace(re,pat));
return(rep.toLocaleString());
}
re=/^(....)-(..)-(..)T(..:..:..)Z$/;
pat="$2/$3/$1 $4 UTC+0000"
rep=new Date(td.replace(re,pat));
return(rep.toLocaleString());
}
function twitterdate(td){
re=/^(.+) (.+) (..) (..:..:..) (.+) (.+)$/;
pat="$2 $3, $6 $4 UTC+0000";
rep=new Date(td.replace(re,pat));
return(rep.toLocaleString());
}
re=/^(.+) (.+) (..) (..:..:..) (.+) (.+)$/;
pat="$2 $3, $6 $4 UTC+0000";
rep=new Date(td.replace(re,pat));
return(rep.toLocaleString());
}
キーワード
はてなハイクの場合
「キーワード=本文」
Twitterの場合
「本文」
JSON形式で本文を取得する場合の添え字は「text」で同じなのですが、はてなハイクの場合は先頭にキーワードと「=」が付きます。
互換性を保つための苦肉の策なのでしょう。
気にしなければ同じコードで動きます。
コメント