JavaScriptで制御されたWindows Live Contacts(MSNメッセンジャーの友達リスト)を取得するAPIがリリースされている。
Getting Startedに従って以下のようなHTMLを作って設置すると動く。
<html xmlns:devlive="http://dev.live.com">
<head>
<title>sample</title>
<script type="text/javascript"
src="http://dev.live.com/scripts/base/v0.2/live.js">
</script>
<script type="text/javascript"
src="http://dev.live.com/scripts/contacts/v0.2/control.js">
</script>
<script>
function onSignin() {
// user is signed in
}
function onSignout() {
// user is not signed in
}
function onError() {
// there was a data transfer error
}
function onData(p_contacts) {
// here comes the data!
var s = "Done! " + p_contacts.length + " records received. <br>";
for (var i = 0; i < p_contacts.length; i++) {
s += "<p>";
s += "Name: " + p_contacts[i].name +"<br>";
s += "Email: " + p_contacts[i].email;
s += "</p>";
}
alert(s);
}
</script>
</head>
<body>
<devlive:contactscontrol
style="width:250px;height:500px;float:right;border:solid 1px black;"
devlive:privacyStatementURL= "http://192.168.1.23/privacyPolicy.html"
devlive:channelEndpointURL="http://192.168.1.23/channel.htm"
devlive:dataDesired="name,email"
devlive:onSignin="onSignin"
devlive:onSignout="onSignout"
devlive:onError="onError"
devlive:onData="onData" />
</body>
</html>
認証APIと同じようにMicrosoftのページが新しいウィンドウで開いて、そこでサインインして戻ってくる。それ以上の動作は上記のコードでは動かないようだ。
サンプルにマッシュアップの例がいくつか載っている。友達リストが取得できるだけではまだ大したことはできなさそうだが、認証APIとしてMSNメッセのアカウントが使えるようになったらユーザ数が多い分、使い道が出てくる。

