言語: HTML | XAML

クイック スタート: アプリのカスタマイズ (XAML)

Applies to Windows and Windows Phone

C++、C#、または Visual Basic を使った Windows ストア アプリでは、Live SDK を利用して、Live Connect によってユーザーの Microsoft アカウント プロファイルの情報にアクセスできます。

そのためには、まず、Live Connect を使うようにアプリを登録する必要があります。続いて、アプリを実行するときに、ユーザーは自分の Microsoft アカウントを使ってサインインし、アプリがデータにアクセスすることに同意する必要があります。ユーザーがサインインして同意すると、アプリはユーザーのプロファイル データにアクセスしてエクスペリエンスをカスタマイズできるようになります。このトピックでは、これらの各手順を行う方法について説明します。

重要  このクイック スタートは説明とデモンストレーションのみを目的としています。Windows ストアにアップロードしてユーザーに配布するアプリでこの機能を使うには、サインアウト機能、サインイン機能、プライバシーに関する声明を含める必要があります。このクイック スタートを完了した後で、「Microsoft アカウントのサインイン エクスペリエンスのガイドライン」を読んで、これらの機能を追加する方法をご覧ください。

必要条件

  • Microsoft Visual Studio がインストールされていること
  • Live SDK がインストールされていること
  • C# プロジェクトを使った Windows ストア アプリが Visual Studio で開かれていること
  • Live Connect を使うように登録された、C++、C#、または Visual Basic を使った Windows ストア アプリ

Live SDK への参照の追加

アプリが実行されたら、ユーザーが Microsoft アカウントを使ってサインインするための Windows サインイン コントロールを表示できます。サインインすると、まだユーザーの同意を得ていないユーザー データをアプリで利用するための同意を求めるメッセージが表示されます。

アプリを実行するときに、Windows サインイン コントロールを表示するには、プロジェクトで次の手順を行います。

  1. [ソリューション エクスプローラー][参照設定] を右クリックし [参照の追加] をクリックします。
  2. [Windows][拡張機能] の順にクリックして、プログラムに追加できる参照の一覧を表示します。
  3. [Live SDK] の横のチェック ボックスをオンにします。一覧に [Live SDK] が表示されない場合は、Live SDK を再インストールして、この手順を再試行します。
  4. [OK] をクリックして、ダイアログ ボックスを閉じます。

アプリへの using ステートメントの追加

Live SDK を参照する、アプリの各 C# コード ファイル (たとえば MainPage.xaml.cs) とアプリの UI のコード ビハインド ファイルの先頭に、次の using ステートメントを追加します。


using Microsoft.Live;


ユーザーに合わせたあいさつのための UI 要素の追加

ユーザーの名前を表示するための要素をアプリのレイアウトに追加します。

そのための実際の Extensible Application Markup Language (XAML) コードは、アプリのレイアウトによって異なります。次の例は、アプリのレイアウトにコードを追加する方法の 1 つを示しています。ただし、実際にアプリに追加するときに含めるような、スタイルや配置を指定するプロパティは含まれていません。


<TextBlock x:Name="userName" Text="You're not signed in." />


ユーザーの Microsoft アカウント情報を取得するコードの追加

前の手順でマークアップを追加したページの分離コード ファイルに、ユーザーの Microsoft アカウントからプロファイル情報を取得するコードを追加し、ページのテキストを更新します。

次のコード例は、以下の処理を行います。

  1. Live SDK を初期化する。
  2. ユーザーの Microsoft アカウントにサインインする。ユーザーが接続されていない場合は、サインインするために、Microsoft アカウントのサインイン画面を表示する。
  3. ユーザーのプロファイル情報へのアクセスの同意を得る。ユーザーがアプリによる情報へのアクセスに同意していない場合は、同意を求める UI が表示されます。
  4. ユーザーの Microsoft アカウント プロファイルからユーザーの情報を取得する。
  5. ユーザーに合わせたあいさつでアプリの UI を更新する。

try
{
    // Initialize access to the Live Connect SDK.
    LiveAuthClient LCAuth = new LiveAuthClient();
    LiveLoginResult LCLoginResult = await LCAuth.InitializeAsync();
    try
    {
        // Sign in to the user's Microsoft account with the required scope.
        //    
        //  This call will display the Microsoft account sign-in screen if the user 
        //  is not already signed in to their Microsoft account through Windows 8.
        // 
        //  This call will also display the consent dialog, if the user has 
        //  has not already given consent to this app to access the data described 
        //  by the scope.
        // 
        LiveLoginResult loginResult = await LCAuth.LoginAsync(new string[] { "wl.basic" });
        if (loginResult.Status == LiveConnectSessionStatus.Connected)
        {
            // Create a client session to get the profile data.
            LiveConnectClient connect = new LiveConnectClient(LCAuth.Session);

            // Get the profile info of the user.
            LiveOperationResult operationResult = await connect.GetAsync("me");

            // Format the text to display and update the element in the layout.
            dynamic result = operationResult.Result;
            if (result != null)
            {
                this.userName.Text = string.Join(" ", "Hello", result.name, "!");
            }
            else
            {
                this.userName.Text = "Unable to get your name.";
            }
        }

    }
    catch (LiveAuthException exception)
    {
        // handle the login, scope, or request exception
    }
}
catch (LiveAuthException exception)
{
    // handle the initialization exception
}
catch (LiveConnectException exception)
{
    // handle the Live Connect API exception
}


カスタマイズしたアプリのテスト

カスタマイズしたアプリを実行したときに、Microsoft アカウントのサインイン画面が常に表示されるわけではないことに気付くかもしれません。その理由は、Windows がサインイン情報を記憶しておいて、ユーザーが次にアプリを実行するときに、カスタマイズされたエクスペリエンスを簡単に利用できるようにしているためである場合があります。

重要  Windows ストアにアップロードしてユーザーに配布するアプリからユーザーのデータにアクセスするには、サインアウト機能、サインイン機能、プライバシーに関する声明を含める必要があります。サインインとサインアウトの実装については、「Microsoft アカウントのサインイン エクスペリエンスのガイドライン」で説明しています。

要約と次のステップ

このトピックでは、C++、C#、Visual Basic を使った Windows ストア アプリから、Outlook.com や Microsoft OneDrive などの Microsoft クラウド サービスにあるユーザーのデータに Live Connect を使ってアクセスする方法について説明しました。

ユーザーに自分の Microsoft アカウントを使ってサインインし、アプリがデータにアクセスすることに同意してもらう方法についても説明しました。

Live Connect の使用についてさらに学習するには、「Microsoft アカウントのサインイン エクスペリエンスのガイドライン」をご覧ください。サインインとサインアウトの機能を追加する方法がわかります。

アプリがユーザーのプロファイル データに対して何ができるかについて詳しくは、「Live Connect ドキュメント」の「ユーザー データの取得」をご覧ください。

 

 

表示:
© 2014 Microsoft