java - 使用 Oauth2 的 EWS java api

标签 java oauth ms-office exchangewebservices

我想为我的应用程序使用 Oauth2 身份验证。我想使用 EWS Java api 从 O365 获取数据。是否可以? 文档 http://blogs.msdn.com/b/exchangedev/archive/2014/09/24/10510847.aspx 谈论为 REST api 获取 oauth token 我是否也应该使用相同的文档来获取要与 EWS Web 服务一起使用的 token ? 任何人都可以分享使用 java 执行此操作的任何代码示例。

最佳答案

我知道,这个问题已经很老了,但今天的答案和评论仍然帮助了我。所以,我想简单总结一下:

在此拉取请求中:https://github.com/OfficeDev/ews-java-api/pull/321 如已接受答案的评论中所述, header 验证已删除。

因此,通过

设置 token 就足够了
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.getHttpHeaders().put("Authorization", "Bearer " + officeToken);

不要设置任何额外的凭据。

为了完整起见:在我的场景中,officeToken 是在客户端通过 Office JavaScript api 检索的

Office.initialize = function() {
    $(document).ready(function (){
        Office.context.mailbox.getCallbackTokenAsync(function(result) {
            result.value; // is the officeToken of above
            // do s.th. with the officeToken; e.g. send it to the server
        });
    });
});

在服务器上,我们现在可以获取邮件的内容。在最新版本的 Office JavaScript Api 中,这也可以直接在客户端中实现。但是,您的 Exchange Api 版本必须是 1.3。因此,这种检索 token 并将其发送到服务器的解决方案在您的 Exchange 服务器运行旧版本的情况下非常有用。

关于java - 使用 Oauth2 的 EWS java api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424550/

相关文章:

java - 执行 Maven 时出错 - 不可解析的设置 settings.xml

ruby - 机架 OAuth-2 服务器中的 Web 服务器流

angular - 使用 Angular 4 的 Outlook 插件

.net - VSTO 与主要互操作程序集,有什么区别?

java - 具有相同唯一键的重复文档

Java 泛型 : Adding elements to Set<? > 、 Set<?扩展 Integer> 和 Set<? super 整数>

java - 循环 Json 数组的元素

java - 401 错误未知授权检索谷歌日历

OAuth 1 在线签名测试器?

excel - 捕获 MS Office 自动形状单击事件