はてなハイクとTwitterのAPIの違い

はてなハイクの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());
}
function twitterdate(td){
  re=/^(.+) (.+) (..) (..:..:..) (.+) (.+)$/;
  pat="$2 $3, $6 $4 UTC+0000";
  rep=new Date(td.replace(re,pat));
  return(rep.toLocaleString());
}

キーワード

はてなハイクの場合
「キーワード=本文」

Twitterの場合
「本文」

JSON形式で本文を取得する場合の添え字は「text」で同じなのですが、はてなハイクの場合は先頭にキーワードと「=」が付きます。
互換性を保つための苦肉の策なのでしょう。
気にしなければ同じコードで動きます。

コメント

タイトルとURLをコピーしました