m-exchange-api-java-code-cover

在您的Java代码中使用微软Exchange API。

Ana NetoCompany news, Connectors, Technical Leave a Comment

你的Java代码需要使用微软Exchange服务器发送邮件。或者你需要使用Java从微软Exchange服务器读取邮件。或者你感兴趣的是日历,你想从那里获取信息,或者想同步不同的日历?如何在Java中使用微软Exchange日历API?

与任何类型的软件集成的经典方法是使用其API。因此,如果你想与微软的Exchange集成,你可能是想找到如何使用Exchange的API。

API随时间变化--微软Exchange API的一点历史

从Java到Exchange最常见的集成方式曾经是Exchange网络服务(EWS)。EWS SDK for Java 作为微软Exchange 2007的一部分推出。它是一个基于SOAP的API,但问题是2018年7月微软宣布不再对它做任何功能更新。虽然EWS SDK for Java 会在一段时间内继续收到安全更新,但目前使用它启动项目是没有意义的。

另一个重要的变化是,从2020年10月13日开始,Exchange Web服务(EWS)中对Basic Authentication的支持将完全停止。微软希望一切都转移到OAuth上。OAuth其实是一个更好的选择,它甚至被 批准为国际标准(ISO/IEC)。如果你还没有听说过OAuth,你可以去看看 此处 进而深入 此处.虽然这是一个好的举措,但事实上,当对Basic Authentication的支持结束时,应用程序将无法再使用Basic Authentication使用EWS连接到Exchange。

那么,现在怎么办?

如果你想通过API从Java连接到微软Exchange,并且你想遵循微软的建议,你应该使用Microsoft Graph。

微软Graph早在2015年就建立在Office 365之上,它通过一个单一的端点委托调用不同的Office 365云服务"■▄。https://graph.microsoft.com/.随着时间的推移,它已经发展到现在包括访问其他微软产品,如Exchange。

Image

在 Microsoft Graph 中,您可以使用 Microsoft Graph API 或 Microsoft Graph 数据连接。无论采用哪种方式,请确保首先检查以下内容 使用条款.微软是相当具体的,你可以和不能做他们的API,所以有一个看看。

在大多数情况下,微软图形API是一种方式。我们将在下面看到更多关于它的信息。

如果你需要处理大数据,或者需要细化的同意(客户将获得审查具体的字段和任何排除,这是常规API无法做到的),你应该考虑微软图形数据连接。但是,如果你考虑微软图形数据连接,你需要注意一个重要的规则:它只会从客户的Office 365租户向相关的Azure租户发送数据。

我们再来看看普通的API,因为这是最常见的选择。目前有2个版本的Microsoft Graph REST APIs - beta版和v1.0版。你可以看一下 测试版但是,当然,对于任何严肃的开发,你应该坚持使用生产版本1.0。对于该版本,你可以查看 文件Java SDK.是的,如果你刚开始接触这个API,就会有很多的学习内容!...

然后要使用API,你首先需要注册你的应用程序。我知道这不是最令人兴奋的第一步,但如果你直接使用API,你将需要一个应用ID来代表你的应用在API调用中。为此,你需要一个工作/学校账户或一个微软账户,然后你可以选择使用注册。

- 微软应用注册门户

- Azure Active Directory 管理门户(建议用于企业级应用)。

如果你的应用程序是一个机密的客户端(服务),你必须创建一个新的应用程序密码来保护它。在你注册后,将为你的应用程序创建一个应用程序ID,并显示在你的新应用程序的属性页面上。

最后,请注意,微软Graph也一直在变化。要想了解一段时间内的变化(自2015年12月以来),你可以看一下。 变革日志.如果你想使用它,我们建议你总是检查当前生产版本的API是什么。

有没有更好的办法?

如果你不太喜欢。

- 首先与微软合作

- 必须花费大量时间研究文件

- 不得不忍受未来对微软图形API的修改所造成的错误。

你可能想知道是否有其他选择。是的,有一个更好的方法!

不直接使用API,你可以在你和API之间放一个薄层。我们称这层为Connect Bridge。这层的构建是为了让一切都快速高效,但又足够厚,让你永远不会接触微软Exchange甚至微软Graph API。

connect-bridge-connectors-m-exchange-api-java-code1

Connect Bridge是一个付费工具,但你可以检查一下。 Connect Bridge免费试用 可用,这样你就可以看到它是否适合你。这个工具的好处是,它确保了向前和向后的兼容性。

你建立你的Java代码与Connect Bridge集成,然后你的用户可以升级Exchange,微软可以推出新版本的API......而你则不必担心这个问题。微软图形API v1.0之后会出现什么并不重要。你的解决方案仍然可以工作你只需写一次代码,然后所有的复杂性都是你根本不需要担心的事情。

对使用该工具的环境没有限制。你可以在以下环境下运行它

- 由互联软件管理的Azure构建的SaaS平台。

- 在企业内部或您自己的云服务器或虚拟机上(自我托管)。

Connect Bridge的工作原理是什么?它在幕后做什么?它基本上是将标准SQL语句翻译成API调用。在你的代码中,看起来你正在使用JDBC访问一个关系型数据库(也支持ODBC和Web服务),你写了SELECT, INSERT, UPDATE和DELETE语句。你写了SELECT, INSERT, UPDATE和DELETE语句。你正在使用看起来像存储过程的东西。但这都只是一层抽象。

你没有访问微软Exchange的数据库(相信我,你不会想这么做!)。但看起来好像是这样。Connect Bridge有一个查询工具,你可以在那里测试你的(假)查询,看到(假)表及其(假)列,甚至找到一个方便的(假)存储过程。就像我说的,它感觉就像使用了一个SQL数据库一样,但它只是一个抽象的概念。

一旦你完成了所有你想要的测试,你只需把连接和查询放在你的代码中,就像你使用JDBC连接到数据库一样......这就是全部!你现在有了一个可以工作的解决方案,不需要任何维护。你现在有了一个工作的解决方案,需要零维护。所有的维护工作都在Connect Bridge这边。这就是为什么这个工具是一个付费工具。我认为这是一个非常聪明的想法......值得花每一分钱!

值得注意的是,这个工具还可以处理安全和认证,如果你从头开始开发,这可能会占用大量的时间。

结论

我们已经看到了如何使用Connect Bridge集成平台轻松地在Java中访问微软Exchange数据。

select_exchange-m-exchange-api-java-code

还有更多的好消息:这也是可以与微软Dynamics和微软SharePoint实现的!事实上,你可以连接到任何微软软件,连接到Salesforce,以及其他许多软件。你只需要得到Connect Bridge,这是基础的集成平台,并选择合适的连接器。

如果你想知道目前Connect Bridge有哪些连接器,可以到以下网站查询 https://www.connecting-software.com/connectors/

连接器-m-exchange-api-java-code

如果你想知道在这个庞大的系列中哪些是最新的连接器,请看看Connect Bridges的资料。 Dynamics 365 财务和业务Dynamics 365业务中心 连接器。

还要知道,有一些现成的产品使用Connect Bridge,完全是开箱即用的解决方案。比如说 CB Exchange Server Sync 允许你选择自定义单向或双向同步的日历,电子邮件文件夹,任务,联系人,公共文件夹,完全没有编码。

我们希望这篇文章对您有所帮助下面是我们在博客上讨论其他整合可能性的一些文章。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.