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

第46回 Hotmailカレンダーと連携するアプリの開発

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

はじめに

Windows Liveサービスと統合したアプリ開発を可能にするLive Connectを利用して,今回はHotmailカレンダーにアクセスしてみましょう。サンプルとして簡単なツールを作成します。また,プレリリース版のLive Connectには,よりHotmailカレンダーと連携できる内容が含まれていますので,こちらも併せて紹介します。

Live Connectについては,第42回から紹介しています※1)⁠必要に応じて参照をお願いします。

※1

第42回の時点では,旧名称のMessenger Connectとなっています。

Live HotmailカレンダーとLive Connect

Hotmailカレンダー図1は,Windows LiveサービスのWebアプリです。特徴のひとつは,カレンダーの共有機能です。個人や友だち,公開されているカレンダーを共有・購読でき,まとめて表示できます。カレンダーには異なるアクセス権限を設定でき,家族間で読み書きできるカレンダーなども作成可能です。

図1 Hotmailカレンダー

図1 Hotmailカレンダー

カレンダーは,Webサイト以外に,Windows LiveメールやOutlook,スマートフォンなどからもアクセスでき,予定やタスクを同期できます。追加した予定やタスクを,メールやLive Messengerで通知も行えます。

Live Connectを利用すると,ユーザーに代わりHotmailカレンダーへアクセスし,Windows Liveサービスと連携したアプリが作れます。たとえば,イベント情報などをユーザーのカレンダーに追加できます。

現在のLive Connectでは,ユーザーの予定を追加することしか許可されていませんが,今後のアップデートではカレンダーのアクセスなども予定されています。これにより,SNSでユーザーのカレンダーと統合したり,情報の取り込みといったことも可能になります。

予定の追加

それでは,さっそくHotmailカレンダーとの連携をみていきましょう。これまでの連載と同じくJavaScript APIREST APIを利用します。

REST APIを利用して予定(イベント)をカレンダーに追加します。JSON形式でEventオブジェクトを表し,HTTP POSTメソッドで https://apis.live.net/v5.0/me/events にアクセスします。JSON形式の値は次のような値です。

{
    "name": "SQLWorld★大阪#7", 
    "description": "初心者から中級者対象にSQLServerについて勉強",
    "start_time": "2011-10-15T13:00:00+0900", 
    "end_time": "2011-10-15T17:00:00+0900", 
    "location": "大阪市立市民交流センターよどがわ", 
    "is_all_day_event": false, 
    "availability": "busy", 
    "visibility": "public"
}

予定を追加するためにユーザーに要求する許可Scopeの値は,wl.events_createです。

Eventオブジェクトの内容は次の通りです。

プロパティ 説明
name string 予定の件名(255文字まで)
作成時必須
description string 説明(32768文字まで)
作成時必須
start_time string 開始日時(ISO 8601形式)
例: 2011-10-15T13:00:00+0900
作成時必須
end_time string 終了日時(ISO 8601形式)
location string 場所(1000文字まで)
is_all_day_event true/false 終日の予定かどうか
true または false
availability string 予定の公開方法
以下の4種類
free:空き時間
busy:予定あり
tentative:仮の予定
out_of_office:外出中
visibility string 公開範囲
public:公開(規定値)
private:非公開
updated_time string 予定の作成日時(ISO 8601形式)
読み取り専用で追加が成功したときにこの値が返ってきます。

作成時に指定する必要がある値は,name,description,start_timeです。それ以外の項目はオプションです。

サーバーからのレスポンスは,予定の追加に成功した場合JSON形式でEventオブジェクトが返ってきます。このとき予定が作成された日時(updated_time)が含まれています。

{
    "name": "SQLWorld★大阪#7", 
    "description": "初心者から中級者対象にSQLServerについて勉強", 
    "start_time": "2011-10-15T13:00:00+0900", 
    "end_time": "2011-10-15T17:00:00+0900", 
    "location": "大阪市立市民交流センターよどがわ", 
    "is_all_day_event": false, 
    "availability": "busy", 
    "visibility": "public",
    "updated_time":"2011-10-10T16:00:00+0000"
}

著者プロフィール

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

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

URL:http://katamari.jp

コメント

  • 同期ソフトについて

    こんにちは。私は異なるプラットフォーム間での同期でかなり苦戦しました。最終的には、いくつかの有料ソフトを試してみましたがEVO Collaborator for Outlookというのが一番使い心地が良かったかなと思います。
    ただ、素人なので機能を使いこなせているかどうかは自身がありません。。
    一度レビューなど頂ければ参考にさせていただきたいと思います。

    Commented : #1  Kawaguchi (2015/11/24, 19:51)

コメントの記入