如何将Exchange EWS更新到Outlook Outlook日历REST-API

问题描述

当前,我在自定义日历系统(在业务应用程序解决方案中)和Exchange服务器之间具有日历同步工具。我正在使用Microsoft.Exchange.WebServices Nuget软件包。根据{{​​3}},Microsoft将关闭Office 365上的EWS(或至少使用Nuget软件包使用的基本身份验证)。将应用程序迁移到新API的最佳方法是什么,我真的想避免启动从头开始使用新应用程序。 nuget软件包是否有更新或类似的东西?

解决方法

最快的方法是将您的应用切换为使用OAuth,您使用的软件包已经支持了https://github.com/sherlock1982/ews-managed-api/blob/master/Credentials/OAuthCredentials.cs。您只需要使用MSAL库https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth之类的东西即可获取令牌并替换您的凭据代码。例如

 service.Credentials = new OAuthCredentials(TokenResult.AccessToken);

托管API(或您使用的端口)不执行令牌刷新操作,因此,如果您的代码运行时间超过1小时,则需要注意令牌过期。