(いわゆる宣伝エントリーなので余裕のある方はお読みください)

お世話になっております。ソーシャルグラフ開発チーム asannou です。
Gmailとmixiがつながりました」ということで、Gmail™のアドレス帳(連絡先)からマイミクシィを追加したり、友人をmixiに招待したりできるようになりました。以前から、メールアドレスでマイミク登録という機能がありますが、ここにアドレス帳のメールアドレスを一個ずつコピペするかわりに、まとめてインポートしてサクサクとマイミク申請&招待できるようになるイメージですね。
今回は技術的な部分のご紹介をさせていただきたいと思います。

アクセス権限を委譲する

本機能では、Gmail™のアドレス帳をインポートする際に、OAuthという仕組みを利用してアクセスをおこなっているので、mixiに、Googleアカウントのユーザー名とパスワードを入力する必要がなく、Gmail™のアドレス帳のみにアクセスする権限を与えられる(委譲できる)ようになっています。

Googleアカウントのログイン画面

Googleアカウントのログイン画面


OAuthの認可画面

OAuthの認可画面

こちらが実際にインポートをするときのスクリーンショットですが、Googleのログイン画面がポップアップされているのがわかります。ここに、Googleアカウントのユーザー名とパスワードを入力し、リクエストを許可することによって、アクセス権限が委譲され、アドレス帳のインポートが可能になるわけです。アドレスバーの先頭が https://www.google.com/ となっていることを確認してから、パスワードを入力するようにしてくださいね。

権限の委譲について、もうちょっと詳しく説明しますと、今回はOpenIDをベースにOAuthを乗せた形の、OpenID OAuth Extensionを採用してみました。理由としては、同時にOpenID User Interface Extensionに対応することで、前述のような、権限の委譲が直感的にわかりやすいUI(mixiとGoogleのfaviconが並んで表示されるとか)を提供する狙いがあります。Extensionとか言われてもよくわかんない、という方はとりあえず、「OAuth単体で使うより、OpenIDと組み合わせたほうが、おしゃれなポップアップウィンドウを出せるから、そうした。あとOpenIDを流行らせたい」とご理解ください。

とにかく、これにてmixiは、一気にOAuth ConsumerおよびOpenID Relying Partyになることができました。技術的に、mixiにOpenIDでログインしたり、新規登録するための条件が整ったということですので、希望される方はどこかでつぶやくと、私の来期あたりのコミットメントに「OpenIDによるログイン機能のリリース」が追加されるかもしれません。
もうお忘れになっている方もいらっしゃるかもしれませんが、mixiはOpenID Providerでもあるので、よろしければそちらもあわせてご利用ください。

ODF

そもそも、ウェブメールのアドレス帳をインポートする機能なんていうのは、今やSNSでは標準装備だったりします。
実は、2年ほど前にODFで取り組んだネタが発端だったのですが、紆余曲折がありまして、一旦ペンディングになっていたのでした。そんなプロジェクトを拾い上げてくれた、今のチームのリーダーや、一緒に仕様を考えてくれたディレクターには感謝です。
mixiのユーザー層で、Gmail™を利用されている方の割合は多くありませんが、スマートフォンのシェアが伸びていき、サーバサイドでアドレス帳を管理するのが一般的になれば、このような機能も活きてくるのではないかと思っています。
それにしても、当時の資料のタイムスタンプが2008年などとなっているのを見ると、胸が熱くなりますね。

サードパーティにパスワードを預けること

逆に、OAuthのような、限定的に権限を委譲できる仕組みを利用しないことにより、思いもよらないリスクが存在するケースもあります。
最近、mixiのリソースにアクセスするために、mixiのログインメールアドレスとパスワードを要求する、サードパーティ製のウェブサービスを多く見かけるようになりました。mixiはSNSという性質上、サードパーティにパスワードを預けてしまうと、自分のコンテンツだけでなく、マイミクが自分に対して、「友人まで公開」しているプロフィールや日記などにアクセスする権限を与えたことと等価となってしまいます。自分がリスクを負うだけならまだしも、マイミクの全員にそのことを納得してもらうのは難しいですよね。。。また、「パスワードは目的以外に使用することはありません」と但し書きがあり、それが真実だとしても、なんらかのトラブルでそのサードパーティから、mixiのパスワードが流出しないとも言い切れません。そのようなサービスにパスワードを預ける前に、上記のことを思い出していただけますよう、どうかよろしくお願いいたします。

とはいえ、mixiにはAPIでアクセスできないリソースがたくさんあります。
パスワードで認証をおこなうウェブサービスである限り、ユーザビリティを確保しながら、サードパーティからのパスワードによるアクセスを完全に防ぐ手段は現状ありません。ミクシィのエンジニアであるという立場を離れて言うと、サービス提供者は可能な限り、OAuthを利用して、サードパーティが安全に、すべてのリソースにアクセスできるAPIを用意し、そちらの利用を啓蒙していくべきだと考えます。

少し話が脱線してしまいました。
パスワードの扱いについて考えつつ、まずはこの機能でGmail™の友人たちとmixiって(つながって)みてはいかがでしょうか。

最後になりましたが、Google Contacts Data APIの提供と、ブランドの使用許諾をくださいましたGoogle社様には、心より御礼申し上げます。

コードは掲載しないmilanoです。
こんにちは。

先週のことになりますが、以前紹介したOpenSocialプラットフォーム(通称:mixiアプリ)をパートナー企業向けにリリースしました。
プラットフォーム開発チームのメンバーたちに++です。

同時に、mixi Developer Centerもプチリニューアルし、mixiアプリの情報を公開し始めました。

mdc_img01.jpg

早速いくつものメディアに取り上げていただいています。

ありがとうございます。

opensocial.jpg
当初はパートナー企業向けですが、そのうち個人の開発者にも公開を考えているようです。個人の方はもうちょいお待ちください。
パートナー企業への申し込みはこちらからどうぞ

今後どんなアプリケーションが登場するか、とても楽しみです。
環境を開放してまだ1週間経っていませんが、すでにいくつかのアプリケーションを登録していただいているようです。

mixiアプリのデベロッパーの方々からのフィードバックを受け、いろいろなAPIを追加していくことも考えています。
デベロッパーと我々が協力しあって素晴らしいプラットフォームを作り上げて行ければと思っています。
よろしくお願いします。

それと、高橋名人も審査員のmixi OpenIDコンテストもよろしくお願いします。
※応募期限が延びました!

会社にも家にもグル~ミ~グッズが置いてある、グル~ミ~好きのmilanoです。
ミクコレも当然のようにグル~ミ~です。
こんにちは。

このたび、mixi OpenIDコンテストというものを始めました。
mixi OpenIDといえばプラットフォーム開発チームということで、私がエンジニアブログでも紹介させてもらいます。

mixi OpenIDコンテストは学生の方を対象にしたコンテストで、mixi OpenIDを使用した新しくて楽しいサービスを公募し、私たちも気づいていないソーシャルグラフの新しい活用方法を提案していただこうというものです。

審査員はエンジニアブログでもおなじみ、弊社技術顧問の小山浩之のほか、なんとmixi公認ユーザーの高橋名人も!
見事選考を勝ち抜けば、高橋名人にプレゼンする機会に恵まれるわけです。
楽しそうですね。
果たして高橋名人はどんなサービスに興味を示すのでしょうか。

さらに「Software Design」や「WEB+DB PRESS」などの雑誌で有名な技術評論社の馮富久さんも加わっていただいています。
馮さんには審査員賞として技術評論社の雑誌の年間購読権も提供していただきました。

二次選考後、最優秀賞に輝いたグループには15インチMacBook Proを1台プレゼントします。
このMacBook Proを使って、サービスをさらに進化させていってもらえたらと思います。

サービスの公開に必要となるWebサーバーはこちらで用意することも考えているので、アイデアとそれを実装する技術さえあればコンテストに参加することができるので、たくさんの学生のみなさまの応募をお待ちしています。

#エンジニアブログなのにいつもコードとか掲載しなくてすみません。

openid_contest.jpg
■コンテスト概要
【応募方法・選考の流れ】

12月17日(水)18:00まで:応募締め切り
Webサービスの概要を企画書にし、コンテスト運営係 openid@mixi.co.jp 宛にお送りください。
提出物:Webサービス企画書(PDF形式)、応募者・グループの氏名・学校名・学年、連絡先となる電話番号・メールアドレス、既にサンプル作品が完成している場合は、WebサービスのURL

12月24日(水):一次選考結果発表
応募者もしくは代表応募者のメールアドレスにご連絡いたします。

2009年1月13日(火):一次選考通過者プレゼンテーション
株式会社ミクシィのオフィスにて、一次選考を通過した応募者・グループによる企画内容のプレゼンテーションを行って頂きます。審査員がアドバイザーとなり、今後の企画の実現およびブラッシュアップのサポートをいたします。

2009年2月13日(金):一次選考通過者最終プレゼンテーション・表彰
株式会社ミクシィのオフィスにて、一次選考を通過した応募者・グループによる最終プレゼンテーションを行って頂きます。また、最優秀賞、審査員賞の発表も行います。

【応募資格・条件】
1.応募者もしくは応募グループ(最大5名)全員が学生であること
2.mixi OpenIDを活用したWebサービスであること
3.友人やグループで楽しめる、または役に立つWebサービスであること
4.公序良俗に反しないWebサービスであること