2012-09-18 1 views
12

Nous avons un système qui s'intégrera d'une certaine manière avec Office 365, et nous aimerions utiliser l'image de profil définie par l'utilisateur dans le système Office 365, plutôt que de stocker nous-mêmes cette image/référence. Toutefois, je ne trouve aucun moyen d'accéder à cette image (par exemple via une adresse e-mail) à partir d'Office 365.Office 365 profil avatar image

En d'autres termes, Office 365 peut-il afficher l'image de profil de l'utilisateur dans un moyen similaire à Gravatar?

+0

Qu'est-ce que le système et comment le connecter à Office 365 et quel type de gestion de l'identité dont vous disposez pour votre environnement? Êtes-vous complètement dans le nuage ou avez-vous une AD et ADFS locale mis en place? –

Répondre

2

Vous pouvez utiliser l'API graphique pour obtenir l'enregistrement de l'entité de l'utilisateur, qui a l'image de profil

http://msdn.microsoft.com/en-us/library/hh974483.aspx - voir thumbnailPhoto terrain.

Pour info API REST: http://msdn.microsoft.com/en-us/library/hh974478.aspx

+0

Veuillez vous assurer que vous évitez les réponses de lien seulement car elles peuvent être effacées au fil du temps. Pensez plutôt à ajouter du code ou des explications. Je vous remercie. – Tanmay

6

Vous pouvez également utiliser l'API unifiée Office365 (Preview) https://msdn.microsoft.com/office/office365/APi/photo-rest-operations

Et utiliser comme Codé Base64 Image. S'il vous plaît prêter attention à l'API modifiée depuis la dernière mise à jour.

Voici mon code:

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 le message est de 2012 :) mais peut-être quelqu'un a besoin de l'info – sergej