さまざまな人が実行するアクティビティのリストを作成します。これは、やることリストとも呼ばれます。このようなリストは通常、紙、テキストエディター、スプレッドシートなどで作成されます。Microsoftは、やることリストを作成および管理する機能も提供し、それらをタスクと呼びます。この記事では、C#でプログラムによってMS Exchange Serverのタスクを追加、更新、または削除する方法について説明します。
- MSExchangeServerでタスクを管理するための.NET API
- C#でMSExchangeServerにタスクを作成する
- C#でMSExchangeServerのタスクを更新する
- C#でMSExchangeServerのタスクを削除する
MSExchangeServerでタスクを管理するための.NET API
MS Exchange Serverでタスクを作成、更新、または削除するには、Aspose.Email for.NETを使用します。これは、複雑なコードを記述せずに電子メールクライアントアプリケーションを作成し、MSExchangeServerと連携するための豊富な機能を備えたAPIです。次のコマンドを使用して、APIのDLLをダウンロードするか、NuGetからインストールできます。
PM> Install-Package Aspose.Email
C#でMSExchangeServerにタスクを作成する
以下は、C#.NETのMSExchangeServerでタスクを作成する手順です。
- まず、Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
- 次に、ExchangeTaskクラスのインスタンスを作成します。
- 件名、ステータスなどのタスクのプロパティを設定します。
- 最後に、IEWSClient.CreateTask(IEWSClient.MailboxInfo.TasksUri、ExchangeTask)メソッドを使用してタスクを作成します。
次のコードサンプルは、C#を使用してMSExchangeServerでタスクを作成する方法を示しています。
// 資格情報を指定してEWSClientクラスのインスタンスを作成します
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Exchangeタスクオブジェクトを作成する
ExchangeTask task = new ExchangeTask();
// タスクの件名とステータス(またはその他のプロパティ)を設定する
task.Subject = "New-Test";
task.Status = ExchangeTaskStatus.InProgress;
// タスクを作成する
client.CreateTask(client.MailboxInfo.TasksUri, task);
C#でのMSExchangeServerの更新タスク
C#を使用して、プログラムでMSExchangeServer上の既存のタスクにアクセスして更新することもできます。この操作を実行する手順は次のとおりです。
- まず、Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
- 次に、IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri)メソッドを使用して、タスクのリストをExchangeMessageInfoCollectionオブジェクトに取得します。
- コレクション内の各ExchangeMessageInfoをループします。
- IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri)メソッドを使用して各ExchangeTaskをフェッチし、必要なメソッドをフィルタリングします。
- 最後に、プロパティを編集し、IEWSClient.UpdateTask(ExchangeTask)メソッドを使用してタスクを更新します。
次のコードサンプルは、C#でMSExchangeServerのタスクを更新する方法を示しています。
// クレデンシャルを作成して初期化する
var credentials = new NetworkCredential("username", "12345");
// 資格情報を指定してExchangeClientクラスのインスタンスを作成します
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Exchangeからタスク情報の収集を取得する
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);
// リスト内のすべてのタスクを解析します
foreach (ExchangeMessageInfo info in tasks)
{
// 現在のタスク情報を使用して交換からタスクを取得します
ExchangeTask task = client.FetchTask(info.UniqueUri);
// タスクのステータスを更新する
task.Status = ExchangeTaskStatus.NotStarted;
// タスクの期日を設定する
task.DueDate = new DateTime(2013, 2, 26);
// タスクの優先度を設定する
task.Priority = MailPriority.Low;
// 交換時にタスクを更新
client.UpdateTask(task);
}
C#でMSExchangeServerのタスクを削除する
以下は、C#でMSExchangeサーバー上のタスクを削除する手順です。
- まず、Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
- 次に、IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri)メソッドを使用して、タスクのリストをExchangeMessageInfoCollectionオブジェクトに取得します。
- コレクション内の各ExchangeMessageInfoをループします。
- IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri)メソッドを使用して各ExchangeTaskをフェッチし、必要なメソッドをフィルタリングします。
- 最後に、IEWSClient.DeleteItem(ExchangeTask.UniqueUri、DeletionOptions.DeletePermanently)メソッドを使用してタスクを削除します。
次のコードサンプルは、C#でMSExchangeServerからタスクを削除する方法を示しています。
// 資格情報を指定してExchangeClientクラスのインスタンスを作成します
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Exchangeからタスクコレクションを取得する
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);
// リスト内のすべてのタスクを解析します
foreach (ExchangeMessageInfo info in tasks)
{
// 現在のタスク情報を使用して交換からタスクを取得します
ExchangeTask task = client.FetchTask(info.UniqueUri);
// 現在のタスクが基準を満たしているかどうかを確認します
if (task.Subject.Equals("test"))
{
// 交換からタスクを削除する
client.DeleteItem(task.UniqueUri, DeletionOptions.DeletePermanently);
}
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.Emailfor.NETを使用できます。
結論
この記事では、MicrosoftExchangeServerでタスクを管理する方法を学習しました。特に、C#でプログラムによってMS Exchange Serverのタスクを追加、更新、または削除する方法を見てきました。また、ドキュメントを調べて、Aspose.Emailfor.NETの詳細を読むことができます。また、フォーラムから質問することもできます。