2012-09-18 20 views
12

Tenemos un sistema que se integrará de alguna manera con Office 365, y nos gustaría usar la imagen de perfil establecida por el usuario en el sistema Office 365, en lugar de almacenar esta imagen/referencia nosotros mismos. Sin embargo, no puedo encontrar ninguna forma de acceder a esta imagen (por ejemplo, a través de una dirección de correo electrónico) desde fuera de Office 365.Imagen de avatar de perfil de Office 365

Dicho de otra manera, es Office 365 capaz de servir la imagen de perfil del usuario en una forma similar a Gravatar?

+0

¿Cuál es el sistema y cómo va a conectarse a Office 365 y qué tipo de gestión de la identidad tiene usted para su entorno? ¿Estás completamente en la nube o tienes un AD local y ADFS configurado? –

Respuesta

6

También puede utilizar la API unificada Office365 (vista previa) https://msdn.microsoft.com/office/office365/APi/photo-rest-operations

y utilizar como codificado en Base64 Imagen. Preste atención a la API modificada desde la última actualización.

Aquí mi código:

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

Oh, la publicación es de 2012 :) pero tal vez alguien necesita la información – sergej

Cuestiones relacionadas