mixi デコリンクと JSON API

July 12th, 2007

mixi Engineers’ Blog » デコリンク(URL展開)機能をリリースしました

開発者ブログなのにプレスリリースみたいなんだぜ。

実装は Jemplate を使っているようです。Ingy さんやね。

http://mixi.jp/static/js/decolink/decolink.js の do_decolink に id をわたすと、dl_rules にはいっている規則をもとに extract_decolink が JSON API で情報をとってきて Jemplate で展開して置き換えています。

JSON API は以下の3つ。mixi のクッキーを食べた状態でアクセスできることを確認しました。

  • http://mixi.jp/atom/music/track/r=1/ID
  • http://mixi.jp/atom/music/artist/r=1/ID
  • http://mixi.jp/atom/review/r=1/ID

ID は mixi 内での通し番号なので、アマゾンのレビューとマッシュアップ!とかは難しそう。decolink.js では ?alt=json&charset=euc-jp (とキャッシュ避けっぽい乱数) をくっつけてますが、省略しても動作はかわりませんでした。付けても alt は無視されるし charset は euc-jp 以外怒られます。

はてなスター とか、JavaScript はサーバーの負荷をあげないかわりに、クライアント側に負荷をかけてしまって、つまりは利用者の体感速度への影響が大きいのでむずいのですが、こと mixi に限定していうなら

  • DOM 経由でアクセスするために id とか class とかを適切にふらざるをえなくなる
  • API として使いやすいインターフェースがばれる

という二点で、どんどんやると良いと思いました。