はじめようWindows 8世代のアプリ開発

第2回 Windowsストア アプリでサインイン!

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

Live Connectを利用したアプリの開発

さっそくアプリを作っていきましょう。今回の目標は,Microsoftアカウントでサインインするところまでです。

Live SDKのインストール

はじめに,Live Connectデベロッパーセンターから,Live SDKをダウンロードし,インストールします。

「WindowsおよびWindows Phone向け」のLive SDKを選択します。現在の最新バージョンは,v5.3です。

新規プロジェクトの作成

Visual Studioを起動して,新しいプロジェクトを作ります。今回は,C#の新しいアプリケーション(XAML)を選択します図3⁠。図は,Visual Studio 2012 Express for Windows 8の画面です。

図3 新しいプロジェクト

図3 新しいプロジェクト

プロジェクトには,いろいろなファイルが作成され,いくつか既にコードが書いてありますが,気にせず進めましょう。今はまだ真っ暗な画面を表示するだけのアプリです。

ツールバーでシミュレーターを選択して図4⁠,実行(デバッグの開始)すると,シミュレーターが起動して,その中でアプリが動きます。アプリを停止する時は,Visual Studioの「デバッグの停止」を使います図5⁠。

図4 シミュレーターの選択

図4 シミュレーターの選択

図5 デバッグの停止

図5 デバッグの停止

参照の追加

次に,Live SDKに含まれているライブラリを参照します。メニューの「プロジェクト⁠⁠-⁠参照の追加」から参照マネージャーを開いて,⁠参照」ボタンをクリックします。

ライブラリは,通常「C:\Program Files (x86)\Microsoft SDKs\Live\v5.0\Windows Store app XAML\References\CommonConfiguration\Neutral」にインストールされています。Microsoft.Live.dllを選択して追加します図6⁠。

図6 参照の追加

図6 参照の追加

サインイン処理の記述

続いて,コードを記述していきます。Microsoftアカウント情報にアクセスするため,サインインする処理を記述しましょう。

MainPage.xaml.csファイルを開きます。LoadProfileメソッドを追加して,OnNavigateToメソッドから呼ぶようにします。これで,アプリが表示されたときにLoadProfileが実行されます。

MainPage.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    LoadProfile();
}

private async void LoadProfile()
{
}

サインインの処理を追記します。

// ファイル先頭に using Microsoft.Live; を追加すること
private async void LoadProfile()
{
    var authClient = new LiveAuthClient();
    LiveLoginResult authResult = await authClient.LoginAsync(new string[] { "wl.basic" });
    if (authResult.Status == LiveConnectSessionStatus.Connected)
    {
        // (サインイン完了)
    }
}

サインインなど認証関連は,LiveAuthClientクラスを使います。サインインは,LoginAsyncメソッドを呼ぶだけです。結果をLiveLoginResultオブジェクトで受け取り,Statusプロパティによってサインインしたかどうかを判断します。

コードでは,⁠wl.basic⁠という文字列を指定しています。これは,アプリが要求するユーザーの情報です。wl.basicは基本的な情報を求めています。Live Connectは,ユーザーがアプリに対してユーザーリソースにアクセスすることを許可する(認可する)一般的な手法のOAuthを利用しています。このアクセス許可の内容を,スコープ(Scope)と呼びます。Live Connectで利用できるスコープや,詳しい内容は,スコープとアクセス許可を参照してください※1⁠。

さて,これを実行して動作を確認してみたいところですが,このままでは動きません。次の手順に進みましょう。

※1)
日本語ドキュメントの内容は,英語ドキュメントより古い場合があります。

著者プロフィール

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

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

URL:http://katamari.jp