0

마이크로 소프트 교환/Outlook과 멀티 캘린더 솔루션 통합 :나는 본질적으로 사용자가 할 수있는 플랫폼을 구축

  • 회사 프로필을 작성하고 동료를 초대를
  • 가 바닥에 사무실을 만듭니다 계획,
  • 별도의 달력이있는 각 회의실이있는 평면도에 테이블과 회의실을 추가하십시오.
  • 회의실의 서적 테이블과 회의.

플랫폼은 Python/Django를 기반으로합니다.

이제 Office 365 및 로컬 Exchange 배포에서 작동하는 동기화 메커니즘을 구현하려고합니다. 동기화는 두 가지 방법 일 수 있습니다. 즉, Outlook에서 생성 된 이벤트가 시스템에서 생성되는 이벤트를 트리거하고 그 반대의 경우도 마찬가지입니다.

내 첫 번째 시도는 EWS SOAP API (exchangelib)를 사용하는 것이 었습니다. 그러나 곧 Outlook 이벤트에 대한 트리거를 만드는 방법을 파악할 때 문제가 발생했습니다. 이것은 동기화를 실패로 끝났습니다. 계정을 반복하고 캘린더에서 변경된 사항이 있는지 확인하는 등의 느린 API 호출을 지속적으로 폭파하는 것입니다.

두 번째 시도는 폴링을 해결할 수있는 깔끔한 푸시 알림 기능이있는 Microsoft Graph API를 사용하는 것과 관련이 있습니다. 그러나 나중에 관리자가 권한있는 Exchange 계정을 연결 한 다음 모든 관련 계정에 대한 이벤트 변경 내용을 한 번에 구독 할 수 없다는 사실을 알게되었습니다 (thanks to this article). 다시 한번 이것은 폴링 (또는 모든 사람이 개인 계정을 연결하도록 만드는 것)이 갈 수있는 유일한 방법이라는 것을 깨닫게됩니다.

Exchange와 양방향 동기화를 수행하려면 관리자에게 계정을 약간의 오버 헤드로 연결하고 가능한 한 폴링하는 것이 좋습니다.

비슷한 기능을하는 대규모 응용 프로그램을 개발 한 사람이 있습니까? 그렇다면 올바른 방향으로 나를 밀어 붙일 수 있습니까?

답변

0

게임에 조금 늦었지만, 원하는 것은 아마도 EWS SubscribeToPushNotifications 서비스입니다. exchangelib에는 아직 구현되지 않았지만 티켓이 있습니다. https://github.com/ecederstrand/exchangelib/issues/145

기본 사항을 구현하는 것이 어렵지 않아야합니다.

관련 문제