java ews appointment_EWS-JAVA-API的使用
使用Java访问EWS
使用Java访问Exchange Web服务(EWS),我们只需要获取一个ExchangeService类的实例,注意:ExchangeService不是线程安全的类,因此每一个线程使用一个实例,代码如下:
1.创建ExchangeService实例和凭证
//创建ExchangeService的对象
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
//创建凭证
ExchangeCredentials credentials = new WebCredentials("emailAddress","password");
//将凭证赋予service
service.setCredentials(credentials);
2.设置服务的URL
设置服务的url有俩种方式:
手动的设置url(如果你知道服务器的url或者事先通过自动发现服务确定了url可以使用此方法进行设置)
使用自动发现服务
使用第一种手动设置的方法如下:
service.setUrl(new URI("EWS-URL"));
通过使用第二种的自动发现服务设置方法如下:
service.autodiscoverUrl("your mail address");
官方建议使用第二种,也就是使用自动发现服务,它的原因如下(英语能力有限,大概意思):
自动发现服务可以给用户确定一个最佳的端点(与用户邮箱服务器最近的端点);
随着管理员部署新的客户端访问服务器,EWS URL可能会更改
注意:手动设置和自动服务发现不能同时调用。
3.Items
在EWS-JAVA-API种定义了Items的类和它对应得结构,每个类都映射到Exchange给定得Items类型中,例如:EmailMessage代表email的消息,Appointment代表日历活动和会议
下面这张图显示了EWS-JAVA-API的项目结构
4.Folders
Folders操作提供对Exchange数据存储中的文件夹的访问,客户端应用程序可以创建、更新、删除、复制、查找和获取并移动与邮箱用户关联的文件夹,EWS-JAVA-API也为Folders定义了类和它得结构,如图:
Items和Folders是Exchange中的唯一标识符,在EWS-JAVA-API中Items和Folders中有一个ID的属性作为Exchange的唯一标识符——(ItemId and FolderId)
5.绑定一个存在的Item
如果你知道message的唯一标识符,那么可以像像下面这样去获取它的详细内容:
//通过ItemId唯一标识符来确定一条消息
EmailMessage message = new EmailMessage(service,new ItemId(id));
//获取这条消息的发件人
System.out.println(message.getSender().getName());
如果你不知道唯一标识符映射的具体类型,可以使用下面的代码:
Item item = Item.bind(service, new ItemId(uniqueId));
if (item instanceof EmailMessage) {
//如果对应的类型是消息类型,获取消息发送者的name
System.out.println(((EmailMessage)item).getSender().getName());
} else if (item instanceof Appointment) {
// If the item is an appointment, write its start time.
System.out.println(((Appointment)item).getStart()));
} else {
// Handle other types.
}
6.绑定一个存在的Folder
代码如下:
Folder folder = Folder.bind(service, new FolderId(uniqueId));
您还可以绑定到一个已知的文件夹(收件箱、日历、任务等),而不需要知道它的ID。
Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
由于目前项目中使用到得功能只为邮件得读取,所以就介绍到这里,如果哦还有发送得需求以及想更详细的了解可以访问它的官方文档。
java ews appointment_EWS-JAVA-API的使用相关推荐
- java ews appointment_EWS Java API 1.1创建约会 - 缺少TimeZoneDefinition
我遇到了同样的问题 - 并尝试了大部分内容(除了来自editig的java ews api本身),使我的Spring Web应用程序中的StartTimeZone约会与Exchange 2007 SP ...
- java ews appointment_EWS API 2.0读取日历信息-读取内容注意事项
[from] http://www.cnblogs.com/love007/archive/2013/06/26/3156852.html 采用模拟账号的方式读取日历信息,注意下日历的内容读取(Bod ...
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...
- java+JBroFuzz对restful api进行fuzz测试
@本文原创,转载请注明 0X00: 序言 fuzz测试作为安全测试的一个基本策略,被越来越多的引入整个测试过程,来避免一些简单的可能引发的安全问题. 如何将fuzzing测试引入软件自动化测试过程是本 ...
- 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例
代码描述:基于JAVA的货币汇率api调用代码实例 关联数据:货币汇率 接口地址:http://www.juhe.cn/docs/api/id/23 1.[代码][Java]代码 import jav ...
- Java - Jackson JSON Java Parser API
文章目录 概述 依赖 Jackson JSON示例 基础数据 JSON转换为Java对象 Jackson JSON –将JSON转换为Map 概述 Jackson JSON Java Parser非常 ...
- java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...
- java平台脚本+java编译器API
[0]README 0.1)本文文字描述转自 core java volume 2, 旨在学习 java平台脚本+java编译器API 的 基础知识: ----------------------- ...
- Java 9:Process API的增强
Java 9对Process API进行了各种改进,用于控制和管理操作系统进程. 获取有关流程的信息 有一个新的ProcessHandle类,提供了进程的pid,父级和后代,以及有关开始时间和累积CP ...
- java jsf_将Java 8日期时间API与JSF和Java EE 7结合使用
java jsf 如果您将Java 8与Java EE 7一起使用,则在尝试利用某些Java 8新功能时可能会遇到一些怪癖. 一个这样的怪癖是,默认情况下,新的Date-Time API不适用于许多J ...
最新文章
- 为什么0的补码形式只有一种?
- 开封机器人餐厅_百合汇主题酒店——开封首家机器人服务员餐厅
- python循环练习_Python循环练习
- Zepto 使用中的一些注意点
- JfreeChart中文文档
- oracle resetlog与noresetlog的作用(转载)
- 经典卷积神经网络的学习(二)—— VGGNet
- HONOR Magicbook 进不了系统
- Windows 10系统【之】内置应用
- 【修复版本】SAP PP模块生产版本主数据维护
- 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十周题解(个人向仅供参考)
- MBR陶瓷膜原料,MBR陶瓷膜堵塞了怎么清理-世来福
- absolute导致的高度塌陷问题——解决方法
- 2022-2028全球聚乙交酯(PGA)行业调研及趋势分析报告
- Ajax——设置请求参数
- seo排名系统源码,矩阵系统源码,火剪系统源码
- 10t桥式起重机总体设计(有cad图+开题、中期报告+文献翻译)
- centos php8 gd库不支持jpeg
- 如何测试麦克风和扬声器(耳机)
- php 砸金蛋抽奖,jQuery的砸金蛋抽奖代码
热门文章
- HTML5-俄罗斯方块
- 计算机bios设置系统安装教程,z590主板装win7系统及bios设置教程(支持11代cpu驱动)...
- 风景这边独好::王世宏摄影作品选集 读后感
- 云服务器上部署 开源项目禅道
- 基于JAVA springboot + MYSQL +VUE的项目管理系统(含数据库),包括工时统计、原型预览、效果图管理等
- C语言再学习25——常用字符串函数归纳
- 精选“数据分析”好问题汇总·第一期
- 有道身份证查询接口API
- UE4使用贴花(Decal)
- 安卓开发中的 “Android高手” ,需要具备哪些技术?