使ってみよう! Live Framework

第4回 .NET Kit(1)

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

.NET Kit

今回からは実際にコードを書いてLive Frameworkの世界に入っていきます。Live Frameworkは特定のプログラミング言語やOSに依存してせんが,今回から数回に渡っては,.NET Framework用のライブラリを使用して開発を行います。ライブラリを使用すると,Liveサービスへのアクセスが抽象化され,HTTPとXML(またはJSON)を使用するよりも,簡単にLiveサービスを利用することができます。

開発ではLive Framework SDK内の.NET Kitを使用します。ダウンロードして使用してください。Live Framework CTPの利用についての各種登録作業は前回紹介していますので,併せて参照してください。ただし前回の記事からSDK等のアップデートがありました。SDKは新しくDownload Centerからダウンロードおよびインストールしてください。Live Framework Clientも新しくダウンロードする必要があります(今回の内容に必須ではありません)。

プロジェクトの作成

本連載ではVisual Studio 2008を使用します。言語はVB.NETを使用したものを紹介します。無償のVisual Basic 2008 Express Editionでも作成可能です。

まずはWindows用のプロジェクトを作成します。今回作成するプロジェクトの種類はWPF,Windowsフォーム,コンソールアプリケーションのどれでも構いません。

プロジェクトを作成したらLive Frameworkのライブラリの参照を追加します。ソリューションエクスプローラのプロジェクト名を右クリックし,参照の追加を選択してください。参照するアセンブリは以下のファイルです図1)。ファイルはLive Framework SDKのインストールフォルダ(%ProgramFiles%\Microsoft SDKs\Live Framework\v0.91\API Toolkits\.Net Library)にあります。

図1 参照の追加

図1 参照の追加

Meshへ接続

さっそくMeshサービスへアクセスしてみましょう。アクセスはLiveサービスへのアクセスを仲介しデータの同期・共有処理を担うコンポーネント,Live Operating Environment(LOE)へ行います。

LiveOperatingEnvironmentクラスをインスタンス化してConnectメソッドを呼びます。コードは次のようになります。

' Imports Microsoft.LiveFX.Client
' Imports System.Net
Dim loe = New LiveOperatingEnvironment
loe.Connect(New NetworkCredential("userid", "password"), New LiveItemAccessOptions(True))

クラウド上のLOEへの接続には認証が必要です。useridとpasswordにはWindows Live IDアカウント(メールアドレス)とパスワードを設定します。IDとパスワードからNetworkCredentialオブジェクトを作成しConnectメソッドの引数に渡しています。2番目の引数,LiveItemAccessOptionsオブジェクトはリソースへアクセスする際に必要になったとき自動でリソースをロードするかなどのオプション設定です。ここではコードの通りに記述してください。

上記の場合,クライアント上のLOE(http://localhost:2048/)が利用できればクライアントへまず接続します。接続できなければ,クラウド上のLOE(http://user-ctp.windows.net/)にアクセスします。

クラウド上のLOEへ接続する場合は時間を多少要します。そのため非同期で処理するメソッドも用意されています(ConnectAsyncメソッド)。また,CookieまたはWindows Liveの認証トークンを使用しても接続が可能です。以下にあまり意味はないかもしれませんがNetworkCredentialオブジェクトから認証トークンを作成しLOEへ接続する例を示します。この場合LOEのURLを指定できます。認証トークンはLive ID Client SDKなどを使用して取得できます。

Dim serviceUrl = "https://user-ctp.windows.net"
Dim token = New NetworkCredential("userid", "password", serviceUrl).GetWindowsLiveAuthenticationToken()
Dim accessOptions = New LiveItemAccessOptions(True)
Dim loe = New LiveOperatingEnvironment
loe.Connect(token, AuthenticationTokenType.UserToken, New Uri(serviceUrl), accessOptions)

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入