2014-09-13 3 views
6

저는 조직에서 여러 사용자의 일정 요약을 처리하는 WPF-app를 작성하고 있습니다. 회사는 Office 365를 사용하고 있으므로 Office 365 API가 가장 좋은 방법이라고 생각했습니다.Office 365 API에서 다른 사용자의 일정에 액세스

내 캘린더에 액세스 할 수 있지만 동료의 캘린더에 액세스하는 방법을 알지 못합니다. 가능합니까? 요약에 포함시키려는 사용자를 선택하려면 GAL을 나열해야합니다.

답변

9

[업데이트] 서비스 계정 지원은 현재 REST API에서 사용할 수 있습니다. 자세한 내용은 Building Daemon or Service Apps with Office 365 Mail, Calendar, and Contacts APIs (OAuth2 client credential flow)을 참조하십시오.

Office 365 API에 대한 질문과 관심에 감사드립니다. 현재 Office 365 API를 사용하여 인증 된 사용자의 일정에는 액세스 할 수 있지만 다른 사용자의 일정에는 액세스 할 수 없습니다. 조직 또는 전체 조직 내의 여러 사용자의 메일/캘린더/주소록에 액세스 할 수 있도록 서비스 계정을 활성화하려면 Google의 로드맵에 따라 우선 순위가 매우 높으므로 계속 지켜봐주십시오.

Exchange Web Services (EWS) 관리 API를 사용하여 응용 프로그램을 구현할 수 있습니다. 그러나 EWS 앱 가장으로 서비스 계정에는 캘린더뿐만 아니라 사용자의 전체 편지함에 대한 읽기/쓰기 권한이 있습니다. Office 365 API에서 서비스 계정에 대한 지원을 추가하면 OAuth를 사용하고 응용 프로그램의 액세스 범위를 제한하여 사용자의 일정을 읽을 수 있습니다.

다음은 EWS 앱 사칭의 작동 방식을 설명하는 몇 가지 링크입니다.

  • Working with impersonation by using the EWS Managed API
  • Impersonation and EWS in Exchange
  • EWS Managed API download
    • 질문이 있거나 더 많은 정보가 필요하면 알려 주시기 바랍니다.

      감사합니다,

      벤 카트

    +2

    다른 사용자의 캘린더에 대한 API 액세스 관련 업데이트는 있습니까? – Serge

    +0

    @venkat에 대한 최신 정보가 있습니까? 다른 사용자의 캘린더에 액세스 할 수 있습니까? –

    +0

    아직 미안합니다. 이 작업은 아직 진행 중입니다. 감사. –

    3

    네, 기본 인증 가능합니다 (그러나 OAuth2를 포함). 또한 계정에 동료의 캘린더에 대한 읽기 권한이 있어야합니다 (사서함 폴더 권한을 설정하여 관리자가 수행 할 수 있음).

    var authClearText = string.Format("{0}:{1}", yourEmail, yourPassword); 
    var authEncoded = Convert.ToBase64String(Encoding.Default.GetBytes(authClearText)); 
    var authHeaderValue = "Basic " + authEncoded; 
    
    using (var httpClient = new HttpClient()) 
    { 
        httpClient.DefaultRequestHeaders.Add("Authorization", authHeaderValue); 
        ... 
    }