2016-08-19 12 views
2

私はUWPアプリケーションを作成します。私はMicrosoftアカウントでユーザープロフィールを取得したい。私はWebアカウントマネージャを使ってログイン機能を実装しています。UWPでWebアカウントマネージャを使用してユーザープロファイル画像を取得する方法

これを確認するために実装しようとしました。 :https://msdn.microsoft.com/en-us/windows/uwp/security/web-account-manager

ユーザー名、ID、アカウントIDなど(Microsoftアカウント)を取得できます。 ユーザープロフィールの画像を取得できません。私は(Windows.System.Userを使用して)ユーザークラスを使用しようとしましたが、私は2つの項目を接続する方法がわかりません。 ユーザクラス:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/UserInfo UWPアプリケーションでユーザプロファイルの画像を取得するにはどうすればよいですか?

答えて

4

ユーザー名、ID、アカウントIDなど(Microsoftアカウント)を取得できます。私はユーザーのプロフィール画像を取得することはできません。

アクセストークンを取得した後、あなたは別のライブのAPIを介してユーザプロフィール画像を取得することができます。

private async void GetUserProfileImageAsync(String token) 
{ 
    var photoApi = new Uri(@"https://apis.live.net/v5.0/me/picture?access_token=" + token); 
    using (var client = new HttpClient()) 
    { 
     var photoResult = await client.GetAsync(photoApi); 
     using (var imageStream = await photoResult.Content.ReadAsStreamAsync()) 
     { 
      BitmapImage image = new BitmapImage(); 
      using (var randomStream = imageStream.AsRandomAccessStream()) 
      { 
       await image.SetSourceAsync(randomStream); 
       myProfile.Source = image; 
       myProfile.Width = image.PixelWidth; 
       myProfile.Height = image.PixelHeight; 
      } 

     } 
    } 
} 

とXAMLは:

<Image Name="myProfile"/> 

注:ライブAPIはOneDrive APIに置き換えられました。したがって、開発中にLive APIではなくOneDrive APIを使用することを強くお勧めします。

関連する問題