2016-07-28 2 views
1

사용자 상호 작용없이 outlook.com에 일정 이벤트를 추가 할 수 있도록 응용 프로그램에 기능을 추가하려고합니다.사용자 상호 작용없이 Office 365 API 액세스 토큰 가져 오기

필자가 보았던 모든 예는 사용자가 office 365 api 토큰에 액세스 할 수 있도록 로그인해야합니다. 사용자 상호 작용없이 토큰을 얻으려면 어떻게해야합니까?

답변

1

클라이언트 자격 증명을 사용하면 OAuth 2.0 코드 부여 흐름 대신 토큰을 요청할 수 있습니다. 여기

POST https://login.microsoftonline.com/<tenantId>/oauth2/token HTTP/1.1 
Content-Type: application/x-www-form-urlencoded 

grant_type=client_credentials 
&client_id=<clientId> 
&client_secret=<clientSecret> 
&resource=https://outlook.office.com 

그리고 Microsoft.IdentityModel.Clients.ActiveDirectory는 했나 토큰을 요청하기 위해 사용하는 샘플입니다 : : 사무실 365 REST에 대한

public static async Task<string> GetTokenAsync(string resource, string clientId, string secrect) 
    { 
     string authority = "https://login.microsoftonline.com/{yourTenantName}"; 
     AuthenticationContext authContext = new AuthenticationContext(authority); 

     ClientCredential clientCredential = new ClientCredential(clientId, secrect); 
     AuthenticationResult authResult=await authContext.AcquireTokenAsync(resource, clientCredential); 
     return authResult.AccessToken; 
    } 

보다 상세하게는, here을 참조하십시오 여기에

는 참조에 대한 요청입니다.

+0

내가 제대로 이해하면 임차인에게 돈을 지불해야합니까? –

+0

예. 고전 Azure 포털에 로그인하면 https://manage.windowsazure.com/rekenoutlook.onmicrosoft.com#Workspaces/ActiveDirectoryExtension/Directory/{tenantId}/directoryQuickStart와 같이 브라우저의 URL에서 tenantId를 가져올 수 있습니다. –

관련 문제