1

Ich möchte in der Lage sein, alle Office365 Fotos des Benutzers in Azure Active Directory zu erhalten.C# wie man Büro 365 Benutzerfoto mit Microsoft Graph API

Im Moment bin ich in der Lage des aktuellen Benutzers E-Mail mit Graph SDK

GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient(); 

public async Task<string> GetMyEmailAddress(GraphServiceClient graphClient) 
    {   
     User me = await graphClient.Me.Request().Select("mail,userPrincipalName").GetAsync(); 
     return me.Mail ?? me.UserPrincipalName; 
    } 

Aber ich bin mir nicht sicher zu bekommen, wie die the getting photos part von https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/profilephoto_get in den Code zu integrieren.

Jede Hilfe oder Codebeispiel wird geschätzt !!

Antwort

0

Sie das Foto erhalten mit graphClient.Me.Photo.Content, welche den binären Daten des Fotos in einem Strom abruft:

public async Task GetPictureAsync() 
{ 
    GraphServiceClient graphClient = GetGraphServiceClient(); 

    var photo = await graphClient.Me.Photo.Content.Request().GetAsync(); 
    using (var fileStream = File.Create("C:\\temp\\photo.jpg")) 
    { 
     photo.Seek(0, SeekOrigin.Begin); 
     photo.CopyTo(fileStream); 
    } 
} 
+0

Werde ich noch in der Lage sein, die Microsoft Graph-API zu verwenden, wenn mein app in Azure AD registriert ist Endpunkt? Weil ich jetzt einen Fehler bekomme, der besagt, dass meine App für diese API-Version nicht unterstützt wird – yfan183

+0

Ja. Ich habe den obigen Code mit einer App-Registrierung getestet, die ich im Azure-Portal vorgenommen habe. Die Zeile '' var photo = await graphClient.Me.Photo.Content.Request(). GetAsync(); '' fordert das v1.0 MS Graph an API (https://graph.microsoft.com/v1.0/me/photo/$value). – RasmusW

+1

Ich erhalte einen weiteren merkwürdigen Fehler: Zugriff verweigert: Anmeldedaten überprüfen und erneut versuchen, wenn ich versuche, mit '' appetit graphClient.Users ["[email protected]"] auf das Foto eines Benutzers zuzugreifen() .GetAsync(); 'Jedoch kann ich dies verwenden, um andere Informationen bezüglich des Benutzers zu erhalten, wie zum Beispiel' awarte graphClient.Users ["[email protected]"]. Request(). Wählen ("mail"). GetAsync(); 'um die E-Mail des Benutzers zu erhalten – yfan183

Verwandte Themen