使ってみよう! Windows Live SDK/API

第11回 Live Messenger Library ―― オリジナルLive Messengerの作成(前編)

この記事を読むのに必要な時間:およそ 5.5 分

プロジェクトの作成

Visual Web Developer 2008から新しいWebサイトを作成します。ASP.NETは使用しませんがテンプレートから「ASP.NET Web」を,場所は「HTTP」を選択し図4⁠,参照ボタンをクリックします。そして,ローカルIISから適当な場所を作成しましょう。ここでは「MessengerLibrarySample」としました図5⁠。

図4 新しいWebサイトの作成

図4 新しいWebサイトの作成

図5 ローカルIISから場所の選択

図5 ローカルIISから場所の選択

Default.aspxは使用しませんのでプロジェクトから削除し,新たにHTMLファイルとJScriptファイルを図6のように追加します。Default.htmはWebアプリケーションの表示部分を記述し,Main.jsにはMessenger Libraryの利用するコードを記述します。Channle.htmとPrivacy.htmは,この後 必要になりますので併せて追加しておきます。

図6 プロジェクトに追加したファイル

図6 プロジェクトに追加したファイル

続いて以下のJScript IntelliSense用のファイルをダウンロードしプロジェクトがあるフォルダに保存します。プロジェクトに追加する必要はありません。

JScript IntelliSense用のファイルは開発に必須ではありませんが,Visual Studioのエディタ内でMessenger Library用のIntelliSenseが有効になり,たいへん便利ですので活用するとよいでしょう。Main.jsに次のようにコメントを記述することでIntelliSenseが有効になります。

/// <reference path="sscorlib.js" />
/// <reference path="Microsoft.Live.Messenger.documentation.js" />

Channel.htm,Privacy.htm

プロジェクトに追加したChannel.htmとPrivacy.htmについて説明します。いずれも Sign-in Controlのホストに使用します。ファイル名は任意ですが,MSDN Libraryとあわせて本連載でもChannel.htmとPrivacy.htmとしています。

Channel.htmは,WebサイトのドメインとWindows Liveサービスのドメイン(live.com)間での通信を容易にするためのものです。以下のコードをChannel.htmに記述してください。Channel.htmをアプリケーションごとに編集する必要はなく同じものを使用します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Channel</title>
<meta name="ROBOTS" content="NONE"/>
<script type="text/javascript">
    try {
        var hash = window.location.hash.substr(1);
        if (window.location.replace == null) {
            window.location.replace = window.location.assign;
        }
        window.location.replace("about:blank");
        var name = hash.split("/")[0];
        var win = null;
        if (name && (name != ".parent")) {
            win = window.parent.frames[name];
        } else {
            win = window.parent.parent;
        }
        if (win.Microsoft) {
            win.Microsoft.Live.Channels.Mux._recv_chunk(hash);
        }
    } catch (ex) {
        /* ignore  */
    }
</script>
</head>
<body></body>
</html>

Privacy.htmは,Webサイトのプライバシーポリシーを表示するためのものです。Messenger Libraryを利用するとユーザ情報を取得できることになるため,ポリシーの明示が必須となっています。このポリシーのリンクは,訪問者がWebサイトに対して許可を行う際に表示されます。開発者のみアクセスできる状態のときは用意する必要はないでしょうが,Webサイトの公開時に適切な内容のものを用意してください。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp