【发布时间】:2018-04-05 08:06:33
【问题描述】:
我已经建立了一个平台,本质上允许用户:
- 创建公司资料并邀请您的同事,
- 创建具有平面图的办公室,
- 在平面图中添加桌子和会议室,每个会议室都有单独的日历,
- 在会议室预订餐桌和会议。
平台基于 Python/Django。
现在我正在尝试实现一种可与 Office 365 和本地 Exchange 发行版配合使用的同步机制。同步有两种方式,这意味着在 Outlook 中创建的事件将触发在我们的系统中创建的事件,反之亦然。
我的第一次尝试是使用 EWS SOAP API(使用 exchangelib)。但很快我在弄清楚如何为 Outlook 事件创建触发器时遇到了问题。这以失败告终,因为同步将涉及对缓慢的 API 调用的持续轰炸,例如遍历帐户并检查其日历中是否有任何更改。
第二次尝试涉及使用 Microsoft Graph API,该 API 具有这种简洁的推送通知功能,可以解决轮询(或者我认为是这样)。但正如我后来发现的那样,让管理员链接他的特权 Exchange 帐户,然后一次性订阅所有关联帐户的事件更改是不可能的 (thanks to this article)。因此,这再次导致人们意识到投票(或让每个人都链接他们的个人帐户)是唯一的出路。
您会推荐什么方法来实现与 Exchange 的双向同步,这将只涉及让管理员以尽可能少的开销和轮询进行帐户链接?
有没有人开发过类似的大型应用程序?如果是这样,你能把我推向正确的方向吗?
【问题讨论】:
标签: outlook calendar integration exchange-server exchangewebservices