ここで探しているもののコードサンプルがいくつかあるようです:
http://msdn.microsoft.com/en-us/library/hh243641.aspx
ユーザーの電子メール アドレス クレームを含むアクセス トークンを取得するには、 wl.basicスコープのトークンを要求する必要があると思います。
したがって、リンクによると、これを行う1つの方法は次のようになります。
private async void btnGreetUser_Click(object sender, RoutedEventArgs e)
{
try
{
LiveAuthClient auth = new LiveAuthClient();
LiveLoginResult initializeResult = await auth.InitializeAsync();
try
{
LiveLoginResult loginResult = await auth.LoginAsync(new string[] { "wl.basic" });
if (loginResult.Status == LiveConnectSessionStatus.Connected)
{
LiveConnectClient connect = new LiveConnectClient(auth.Session);
LiveOperationResult operationResult = await connect.GetAsync("me");
dynamic result = operationResult.Result;
if (result != null)
{
this.infoTextBlock.Text = string.Join(" ", "Hello", result.name, "!");
}
else
{
this.infoTextBlock.Text = "Error getting name.";
}
}
}
catch (LiveAuthException exception)
{
this.infoTextBlock.Text = "Error signing in: " + exception.Message;
}
catch (LiveConnectException exception)
{
this.infoTextBlock.Text = "Error calling API: " + exception.Message;
}
}
catch (LiveAuthException exception)
{
this.infoTextBlock.Text = "Error initializing: " + exception.Message;
}
}
したがって、スコープを文字列配列として渡し、使用しなければならない wl.basic スコープを使用する代わりに、wl.emails スコープを使用して電子メール情報にアクセスします。以下を参照してください。
http://msdn.microsoft.com/en-us/library/hh243646.aspx#wlemails