C#のMS Exchange Serverでタスクを作成、更新、または削除する

さまざまな人が実行するアクティビティのリストを作成します。これは、やることリストとも呼ばれます。このようなリストは通常、紙、テキストエディター、スプレッドシートなどで作成されます。Microsoftは、やることリストを作成および管理する機能も提供し、それらをタスクと呼びます。この記事では、C#でプログラムによってMS Exchange Serverのタスクを追加、更新、または削除する方法について説明します。

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でタスクを作成する手順です。

次のコードサンプルは、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上の既存のタスクにアクセスして更新することもできます。この操作を実行する手順は次のとおりです。

次のコードサンプルは、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サーバー上のタスクを削除する手順です。

次のコードサンプルは、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の詳細を読むことができます。また、フォーラムから質問することもできます。

関連項目