1

Azure Active 디렉토리에서 모든 사용자의 office365 사진을 가져오고 싶습니다.C# Microsoft Graph API를 사용하여 Office 365 사용자 사진을 얻는 방법

는 지금은 그래프 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; 
    } 

를 사용하여 현재 사용자의 이메일을받을 수 있어요하지만 코드에 https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/profilephoto_get에서 the getting photos part을 통합하는 방법을 모르겠어요.

도움이나 코드 예제는 높이 평가됩니다 !!

답변

0

당신은 스트림에서 사진의 바이너리 데이터를 검색 할 graphClient.Me.Photo.Content를 사용하여 사진을 얻을 : 내 응용 프로그램이 푸른 광고에 등록되어있는 경우

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

나는 여전히 마이크로 소프트 그래프 API를 사용할 수 있습니다를 종점? 이제 내 API가이 API 버전에서 내 앱이 지원되지 않는다는 오류가 나타납니다. – yfan183

+0

예. 나는 위의 코드를 Azure 포털에서 만든 앱 등록으로 테스트했다.''var photo = graphClient.Me.Photo.Content.Request()를 기다린다. GetAsync();''는 v1.0 MS Graph를 요청한다. API (https://graph.microsoft.com/v1.0/me/photo/$value). – RasmusW

+1

'await graphClient.Users [ "[email protected]"]를 사용하여 사용자의 사진에 액세스하려고 할 때'Access Denied : Credential 확인 및 다시 시도'라는 이상한 오류가 발생합니다. Photo.Content.Request() .GetAsync();'그러나이 메소드를 사용하여 'await graphClient.Users [ "[email protected]"]와 같은 사용자 관련 다른 정보를 얻을 수 있습니다 .. Request(). Select ("mail"). GetAsync();'사용자의 이메일을 얻으려면 – yfan183