OpenAuthで友達リスト取得

AOL OpenAuthをJavaScriptで使う方法について。以前ちょっと調べてたことが、ちゃんとドキュメントになってた。
Yahoo!

で、実はIDだけじゃなくって、AOLの友達リストも取って来れるという話。
こちらにデモが。ソースも上記ドキュメントにダウンロードリンクあり。
http://dev.aol.com/gallery_files/getBL.html

動作としては、まずgetTokenサービスを利用して認証トークンを取得できたら、それを使って友達リストのJSONPサービスを呼び出す。友達リストのJSONPサービスリクエストURLはこんな感じになっている。

http://api.oscar.aol.com/presence/get?f=json&bl=1&k=bs1312tKAjxKsqZY&a=....&c=parsePresence

(k: developer key id, a : 認証トークン, c : コールバック関数)

でも、こういったユーザのパーソナルな情報(アイデンティティ情報)を他のサイトに配信してしまうのはセキュリティ的にまずいので、ユーザの同意を得ないとこのJSONPリクエストは情報を配信しないようになっている。そこで、IFRAME内で同意を求める画面のURL(先のJSONPリクエストのレスポンスにリダイレクト先として含まれている)にリクエスト投げて、属性を取得することに対する同意を求める画面を表示させる。そこでユーザから同意が得られると、もう一度先のJSONPサービスにリクエストを投げるのだけど、今度はあらかじめユーザから同意が得られているので、無事友達のリストが配信される、ということになる。

クライアントJavaScriptだけじゃアクセスコントロールに使うことはできないだろうけど、まあパーソナライゼーションには使えるはず。Twitterみたいに垂れ流しよりは、かなり素敵な実装。こんなふうにポータビリティがあると嬉しいパーソナル情報って、結構あるんじゃない?

でもざんねん、自分はAIMもやってないし、AOL IDには今のところなんも価値がないのよー。当然フレンドリストも表示されないし。。。