風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

はてなID ⇔ Twitterユーザー名の相互変換APIを作ってみました

はてなダイアリーがバージョンアップして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』の動作について - 風柳メモも併せてお読み下さい。

  1. はてな側で登録されてあるデータを元にしています。
    よって、実際にはてなユーザーでTwitterを使っていても、はてな側で登録されていなければ反映されません。
  2. リアル・タイムではありませんので、実情とのずれが生じる場合もあります。
  3. 例によって調べる前に作っちゃったので、すでにこういうAPIが存在する可能性も高いです。
    実際、はてな本家でやればすごく簡単なはずだしね。また壮大な無駄をやってしまったかもねぇ…。
    また、もしないなら作ってほしいです。Twitterだけじゃなく、はてな検索で出来る、様々な情報検索のAPI。スクレイピングは最近風当たりが強いみたいだし。
  4. というか、はてな側でデータを持っているんだから、@みたいに@記法使った時にそのはてなユーザがTwitterユーザー名を登録しているのなら、@hatenaidcallとか通さずに、直接そのユーザー名のアカウントから投稿してしまえばいいのに、とかちょっと思いました。
    はてなダイアリーのTwitter連携機能について - delirious thoughts』という記事を書かれているid:antipopさんとか、記事書きながら該当部分でそう思われたんじゃなかろうか、と勝手に邪推(笑)。