Gestion des dossiers de messagerie avec IGraphClient
Le Aspose.Email IGraphClient interface fournit des méthodes pour créer, lister, mettre à jour, copier, déplacer et supprimer des dossiers en utilisant Microsoft Graph.
List Folders
Utilisez le ListFolders méthode pour récupérer tous les dossiers disponibles pour l’utilisateur actuel. Chaque dossier est renvoyé en tant que FolderInfo objet, qui comprend des propriétés telles que DisplayName, ItemId, HasSubFolders, etc.
var folders = client.ListFolders();
foreach (var folder in folders)
{
Console.WriteLine(folder.DisplayName);
}
Lister les dossiers de manière asynchrone
L’exemple suivant montre comment récupérer tous les dossiers d’une boîte aux lettres et afficher leurs noms en utilisant le ListFoldersAsync méthode.
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);
}
Créer et mettre à jour un dossier
Pour créer un nouveau dossier, appelez le CreateFolder méthode. Elle renvoie un FolderInfo objet, qui peut ensuite être modifié et mis à jour à l’aide du UpdateFolder() méthode.
var folderInfo = client.CreateFolder("FolderName");
folderInfo.DisplayName = "FolderAnotherName";
client.UpdateFolder(folderInfo);
Copier un dossier
Utilisez le CopyFolder méthode pour copier un dossier vers un nouvel emplacement parent. Cette méthode nécessite l’ID du dossier parent de destination et l’ID du dossier à copier.
var folderInfo1 = client.CreateFolder("Folder1");
var folderInfo2 = client.CreateFolder("Folder2");
// copy Folder2 to Folder1
client.CopyFolder(folderInfo1.ItemId, folderInfo2.ItemId);
Déplacer et supprimer un dossier
- Pour déplacer un dossier, utilisez le MoveFolder méthode qui accepte newParentId et itemId.
- Pour supprimer un dossier, utilisez le Supprimer méthode et fournissez l’ItemId du dossier.
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)