はてなダイアリーがバージョンアップしてTwitterと密な連携がとれるようになった記念に(?)、
- はてなIDからTwitterのユーザ名を取得
- Twitterのユーザ名からはてなIDを取得
するようなAPIを試作してみました。
結果はJSON(P)で返ります。
はてなIDからTwitterのユーザ名を取得するには?
http://hatena-anohito.appspot.com/c/?hatena_id=<はてなID>[&callback=<コールバック関数名>]
オプションでcallbackを付けるとJSONPとなり、コールバック関数の引数としてJSONが返ります。
はてなIDからTwitterのユーザ名を取得するには?
http://hatena-anohito.appspot.com/c/?twitter_screen_name=<Twitterユーザー名>[&callback=<コールバック関数名>]
これもオプションでcallbackを付けられます。
Twitterユーザー名とはログイン時に指定するscreen_nameのことです。
例えば
http://hatena-anohito.appspot.com/c/?twitter_screen_name=furyutei
のように指定すれば、
{"twitter": {"user_id": "46094747", "user_name": "\u98a8\u67f3", "screen_name": "furyutei", "icon": "http:\/\/a3.twimg.com\/profile_images\/318199851\/kaze2_normal.png"}, "hatena": {"id": "furyu-tei", "name": "\u98a8\u67f3", "icon": "http:\/\/www.st-hatena.com\/users\/fu\/furyu-tei\/profile.gif"}}
のようなJSONが返ります。
注意書きとか独り言とか
【2010/06/12追記】『はてなID ⇔ Twitterユーザー名の相互変換API』の動作について - 風柳メモも併せてお読み下さい。
- はてな側で登録されてあるデータを元にしています。
よって、実際にはてなユーザーでTwitterを使っていても、はてな側で登録されていなければ反映されません。 - リアル・タイムではありませんので、実情とのずれが生じる場合もあります。
- 例によって調べる前に作っちゃったので、すでにこういうAPIが存在する可能性も高いです。
実際、はてな本家でやればすごく簡単なはずだしね。また壮大な無駄をやってしまったかもねぇ…。
また、もしないなら作ってほしいです。Twitterだけじゃなく、はてな検索で出来る、様々な情報検索のAPI。スクレイピングは最近風当たりが強いみたいだし。 - というか、はてな側でデータを持っているんだから、@furyuteiみたいに@記法使った時にそのはてなユーザがTwitterユーザー名を登録しているのなら、@hatenaidcallとか通さずに、直接そのユーザー名のアカウントから投稿してしまえばいいのに、とかちょっと思いました。
『はてなダイアリーのTwitter連携機能について - delirious thoughts』という記事を書かれているid:antipopさんとか、記事書きながら該当部分でそう思われたんじゃなかろうか、と勝手に邪推(笑)。