今回からはLive Messenger Web Toolkitを紹介します。Live Messenger Web Toolkitとは、2009年3月にMIX09というMicrosoftによる開発者とデザイナー向けのイベントで発表された、Windows Live Messenger機能をWebサイトに組み込むことのできるコントロールとライブラリーです。
Live Messenger Web Toolkitは、開発者に提供されているものをそのまま利用しているわけではないですが、Windows Live HotmailのWebサイトで利用されているのを見ることができます(図1)。
Web Toolkitを利用すると、PCにインストールして使うLive Messengerと同じ機能を簡単にWebサイトに付け加え、Live Messengerと連携できます。Live HotmailのようにLive MessengerそのものをWebサイトに付け加えるほかにも、ユーザーのプロフィール情報を利用してWebサイトにユーザー名を表示することや、コメントを残すときにも利用できるでしょう。コンタクトリストを利用してSNSのようなWebサイトも可能かもしれません。ゲームなどのメッセージング機能としても使えそうです。ぜひ連携したおもしろいWebアプリケーションを作ってみてください。
UI ControlsとLibrary
Live Messenger Web Toolkitは、複数のコントロールとライブラリーから成っています。Live Messenger Web Toolkitを利用してLive Messengerと統合したアプリケーションを作るには次のふたつの方法が用意されています。
Live Messenger UI ControlsのひとつにMessenger Web Barというコントロールが用意されています。これはLive Messengerのほぼすべての機能が利用できる特徴的なコントロールです。コンタクトリストの表示・編集やインスタントメッセージの送受信、ユーザーのプロフィールの表示・編集などが可能です。
それでは実際に使ってみましょう。次回の内容と少し重なるのですが、オンライン上で簡単にUI Controlsを試すことのできるInteractive SDKが用意されています(図4)。このWebサイトへアクセスし、LeanタブのBarを選択するとMessenger Web Barを使えます。
Barを選択時にウィンドウ下に表示されているのがMessenger Web Barです。「サインイン」ボタンをクリックすることでLive Messengerにサインインします。はじめてサインインしたときはバルーンで簡単な使い方が表示されます。
サインインの際には、当然のことながらLive IDアカウントによるサインインが必要です。IDによるサインインに加えて図5のような確認画面が表示されると思います。これは、本連載でこれまでに紹介したWindows Live APIやSDKの一部でも使用していたWindows Live ID Delegated Authentication(委任認証)です。Live Messenger Web Toolkitを利用したWebサイトはユーザーの情報を入手できることになります。そのため、ユーザーはWebサイトに対して許可を与えるという手順を踏みます。
Messenger Web BarなどUI Controlsを利用する場合、必ずApplicationコントロールと呼ばれるコントロールも一緒に追加する必要があります。これは実際にWebページに表示されるものではなく、認証情報などを設定するものです。<msgr:app>要素をUI Controlsを使用する各ページの<body>要素内に追加します。
先に進みたい方は、Interactive SDKのBeginタブからサンプルコードがダウンロードできます。各種言語のサンプルが含まれています。Visual BasicではWebToolkit\GettingStarted\VBフォルダーにASP.NET Webサイトプロジェクトがあります。これを元に利用するとMessenger Web Barが使えるようになります。ただし、Live Services Developer PortalでApplication IDの取得や、web.configファイルの編集が必要です。
また、次回以降も委任認証の詳しい仕組みについては紹介しません。委任認証については第14回と15回で紹介しています。興味のある方はこちらを参照してください。若干、内容が古くなっていますが、基本的な考えは変わりありません。ただし、Live Messenger Web Toolkitでは、図5のように専用の認証画面や手続きが用意されています。