待办事项列表用于跟踪要执行的活动。人们在纸上、文本编辑器、电子表格等上创建此类列表。Microsoft Exchange Server 还提供了创建和管理由任务组成的待办事项列表的功能。为了以编程方式处理这些任务,本文展示了如何使用 Java 在 MS Exchange Server 上添加、更新或删除任务。
- 用于管理 MS Exchange Server 上的任务的 API
- 用 Java 在 MS Exchange Server 上创建任务
- 用 Java 更新 MS Exchange Server 上的任务
- 在 Java 中删除 MS Exchange Server 上的任务
用于管理 MS Exchange Server 上的任务的 Java API
Aspose.Email for Java 是一个电子邮件处理 API,用于创建和发送电子邮件以及实现电子邮件客户端应用程序。此外,它还允许您无缝地使用 MS Exchange Server。我们将使用此 API 在 MS Exchange Server 上创建和操作任务。您可以 下载 API 或使用以下 Maven 配置安装它。
存储库:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依赖:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.3</version>
<classifier>jdk16</classifier>
</dependency>
用 Java 在 MS Exchange Server 上创建任务
以下是使用 Java 在 MS Exchange Server 上创建任务的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,创建一个 ExchangeTask 类的实例。
- 设置任务的属性,例如主题、状态等。
- 最后,使用 IEWSClient.createTask(String, ExchangeTask) 方法创建任务。
以下代码示例显示了如何使用 Java 在 MS Exchange Server 上创建任务。
// 通过提供凭据创建 EWSClient 类的实例
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 创建 Exchange 任务对象
ExchangeTask task = new ExchangeTask();
// 设置任务主题和状态(以及其他属性)
task.setSubject("New-Test");
task.setStatus(ExchangeTaskStatus.InProgress);
// 创建任务
client.createTask(client.getMailboxInfo().getTasksUri(), task);
用 Java 更新 MS Exchange Server 上的任务
您还可以使用 Java 以编程方式访问和更新 MS Exchange Server 上的现有任务。以下是执行此操作的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,使用 IEWSClient.listMessages(String) 方法将任务列表放入 ExchangeMessageInfoCollection 对象。
- 循环遍历集合中的每个 ExchangeMessageInfo。
- 使用 IEWSClient.fetchTask(String) 方法获取每个 ExchangeTask 并过滤所需的。
- 最后,使用 IEWSClient.updateTask(ExchangeTask) 方法编辑属性并更新任务。
以下代码示例显示了如何在 Java 中更新 MS Exchange Server 上的任务。
// 通过提供凭据创建 ExchangeClient 类的实例
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 从 Exchange 获取所有任务信息集合
ExchangeMessageInfoCollection tasks = client.listMessages(client.getMailboxInfo().getTasksUri());
// 解析列表中的所有任务信息对象
for (ExchangeMessageInfo info : (Iterable<ExchangeMessageInfo>) tasks) {
// 使用当前任务信息从 Exchange 获取任务
ExchangeTask task = client.fetchTask(info.getUniqueUri());
// 更新任务状态
task.setStatus(ExchangeTaskStatus.NotStarted);
// 设置任务的截止日期
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
task.setDueDate(sdf.parse("26/02/2013 00:00:00"));
// 设置任务的优先级
task.setPriority(MailPriority.Low.getValue());
// Exchange 上的更新任务
client.updateTask(task);
}
用 Java 删除 MS Exchange Server 上的任务
以下是在 Java 中删除 MS Exchange Server 上的任务的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,使用 IEWSClient.listMessages(String) 方法将任务列表放入 ExchangeMessageInfoCollection 对象。
- 循环遍历集合中的每个 ExchangeMessageInfo。
- 使用 IEWSClient.fetchTask(String) 方法获取每个 ExchangeTask 并过滤所需的。
- 最后,使用 IEWSClient.deleteItem(String, DeletionOptions) 方法删除任务。
以下代码示例显示了如何在 Java 中从 MS Exchange Server 中删除任务。
// 通过提供凭据创建 ExchangeClient 类的实例
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 从 Exchange 获取所有任务的信息集合
ExchangeMessageInfoCollection tasks = client.listMessages(client.getMailboxInfo().getTasksUri());
// 解析列表中的所有任务信息对象
for (ExchangeMessageInfo info : (Iterable<ExchangeMessageInfo>) tasks) {
// 使用当前任务信息从 Exchange 获取任务
ExchangeTask task = client.fetchTask(info.getUniqueUri());
// 检查当前任务是否满足搜索条件
if (task.getSubject().equals("test")) {
// 从 Exchange 删除任务
client.deleteItem(task.getUniqueUri(), DeletionOptions.getDeletePermanently());
}
}
获取免费 API 许可证
您可以获得 免费的临时许可证 使用 Aspose.Email for Java,没有评估限制。
结论
在本文中,您学习了如何在 Microsoft Exchange Server 上管理任务。特别是,您已经了解了如何使用 Java 以编程方式在 MS Exchange Server 上添加、更新或删除任务。此外,您可以浏览 文档 以阅读有关 Aspose.Email for Java 的更多信息。此外,您可以通过我们的 论坛 提问。