IGraphClient を使用したメールフォルダーの管理

Aspose.Email IGraphClient インターフェイスは、Microsoft Graph を使用してフォルダーの作成、一覧、更新、コピー、移動、削除のメソッドを提供します。

フォルダー一覧

使用する ListFolders メソッドは現在のユーザーが利用できるすべてのフォルダーを取得します。各フォルダーは FolderInfo オブジェクトで、DisplayName、ItemId、HasSubFolders などのプロパティを含みます。

var folders = client.ListFolders();

foreach (var folder in folders)
{
    Console.WriteLine(folder.DisplayName);
}

フォルダーを非同期に一覧表示

以下の例は、メールボックス内のすべてのフォルダーを取得し、名前を表示する方法を示します。 ListFoldersAsync メソッド。

var folders = await client.ListFoldersAsync();
foreach (var folder in folders)
{
    Console.WriteLine(folder.DisplayName);
}

var folderId = folders.Find(x => x.DisplayName == "Inbox").ItemId;
var msgsPage = await client.ListMessagesAsync(folderId, new PageInfo(15) { PageOffset = 0 }, null);
var msgs = msgsPage.Items;
foreach (var msg in msgs)
{
    Console.WriteLine(msg.Subject);
}

フォルダーの作成と更新

新しいフォルダーを作成するには、 CreateFolder メソッドで更新できます。このメソッドは FolderInfo オブジェクトで、これを修正して UpdateFolder() メソッド。

var folderInfo = client.CreateFolder("FolderName");
folderInfo.DisplayName = "FolderAnotherName";
client.UpdateFolder(folderInfo);

フォルダーをコピーする

使用する CopyFolder メソッドはフォルダーを新しい親ロケーションにコピーします。このメソッドには、コピー先の親フォルダー ID とコピー対象フォルダーの ID が必要です。

var folderInfo1 = client.CreateFolder("Folder1");
var folderInfo2 = client.CreateFolder("Folder2");
    
// copy Folder2 to Folder1
client.CopyFolder(folderInfo1.ItemId, folderInfo2.ItemId);

フォルダーの移動と削除

  • フォルダーを移動するには、 MoveFolder メソッドを使用し、newParentId と itemId を受け取ります。
  • フォルダーを削除するには、 削除 メソッドにフォルダーの ItemId を提供します。
var folderInfo1 = client.CreateFolder("Folder1");
var folderInfo2 = client.CreateFolder("Folder2");
    
// move Folder2 to Folder1
client.MoveFolder(folderInfo1.ItemId, folderInfo2.ItemId);
    
// delete Folder1
client.Delete(folderInfo1.ItemId)