2012-09-18 36 views
12

Office 365とは何らかの形で統合されるシステムがあり、この画像/参照を自分で保存するのではなく、Office 365システムでユーザーが設定したプロファイル画像を使用したいと考えています。ただし、Office 365の外部からこの画像にアクセスする方法(電子メールアドレスなど)を見つけることができません。Office 365プロファイルのアバター画像

別の言い方をすれば、Office 365は、 Gravatarと同様の方法ですか?

+0

何システムであり、それがどのようにOffice 365のに接続し、ご使用の環境のためのアイデンティティ管理のどのような種類がありますか?あなたは完全にクラウドにいるのですか、ローカルADとADFSをセットアップしていますか? –

答えて

2

あなたはプロフィール画像

http://msdn.microsoft.com/en-us/library/hh974483.aspxを持っているユーザエンティティレコードを、取得するには、グラフAPIを使用することができます - thumbnailPhotoフィールドを参照してください。 RESTのAPI情報については

http://msdn.microsoft.com/en-us/library/hh974478.aspx

+0

時間の経過とともに削除される可能性があるので、リンクのみの回答は避けてください。代わりに、コードや説明を追加することを検討してください。ありがとうございました。 – Tanmay

6

あなたはまた、Office365統合API(プレビュー)https://msdn.microsoft.com/office/office365/APi/photo-rest-operations

を使用し、Base64でエンコードされたイメージとして使用することができます。前回の更新以降、変更されたAPIに注意してください。

ここに私のコード:

HttpClient client = new HttpClient(); 
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, 
     "https://outlook.office.com/api/beta/me/photos('96x96')/$value"); 
     request.Headers.Add("ACCEPT", "image/*"); 
     request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken); 
     HttpResponseMessage response = await client.SendAsync(request); 
     byte[] byteArray = await response.Content.ReadAsByteArrayAsync(); 

     string base64ImageRepresentation = Convert.ToBase64String(byteArray); 

     if (!response.IsSuccessStatusCode && response.StatusCode >= HttpStatusCode.BadRequest) 
     { 
      return string.Empty; 
     } 

     return base64ImageRepresentation; 
+0

ああ、投稿は2012年からです:)しかし多分誰かが情報を必要としています – sergej

関連する問題