待辦事項列表用於跟踪要執行的活動。人們在紙上、文本編輯器、電子表格等上創建此類列表。Microsoft Exchange Server 還提供創建和管理由任務組成的待辦事項列表的功能。為了以編程方式處理這些任務,本文介紹瞭如何使用 Java 在 MS Exchange Server 上添加、更新或刪除任務。
- 用於管理 MS Exchange 服務器上的任務的 API
- 用 Java 在 MS Exchange Server 上創建任務
- 在 Java 中更新 MS Exchange Server 上的任務
- 在 Java 中刪除 MS Exchange Server 上的任務
用於管理 MS Exchange 服務器上的任務的 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 的更多信息。此外,您可以通過我們的 論壇 提問。