Arbeiten mit Ordnern mittels Microsoft Graph

Aspose.Email für Java ermöglicht eine Vielzahl von Ordner‑Operationen in Microsoft Graph, wie Auflisten, Erstellen, Aktualisieren, Kopieren, Verschieben und Löschen von Ordnern. Unten finden Sie Beispiele für gängige Szenarien.

List Folders

Das folgende Beispiel ruft alle Ordner ab und gibt deren Anzeigenamen zusammen mit ihren Eigenschaften aus:

GraphFolderInfoCollection folders = client.listFolders();
for (GraphFolderInfo folderInfo : folders) {
    System.out.println(folderInfo.getDisplayName());
    for (KeyValuePair<Long, MapiProperty> prop : folderInfo.getProperties()) {
        System.out.println(prop.getValue().getDescriptor().toString() + " " + prop.getValue().getString());
    }
}

List Subfolders from Inbox Folder

Sie können auch Unterordner unter einem bestimmten Ordner, zum Beispiel dem Posteingang, auflisten:

GraphFolderInfoCollection inboxFolders = client.listFolders(GraphKnownFolders.Inbox);

Create Folders

Sie können sowohl Ordner auf Root‑Ebene als auch Unterordner erstellen.

Create a Root Folder

GraphFolderInfo newFolder = client.createFolder("TEST_FOLDER");

Create Subfolders

Das folgende Code‑Beispiel zeigt, wie ein Unterordner im Posteingang erstellt wird:

GraphFolderInfo inboxTestSubFolder1 = client.createFolder(GraphKnownFolders.Inbox, "TEST_SUBFOLDER_1");
GraphFolderInfo inboxTestSubFolder2 = client.createFolder(newFolder.getItemId(), "TEST_SUBFOLDER_2");

Get Folder

Das folgende Code‑Beispiel demonstriert, wie ein bestimmter Ordner, wie z. B. Gesendete Elemente, abgerufen wird:

GraphFolderInfo sentItemsFolder = client.getFolder(GraphKnownFolders.SentItems);

Update Folder

Sie können Ordner‑Eigenschaften aktualisieren, zum Beispiel dessen Anzeigenamen:

GraphFolderInfo originalFolder = client.createFolder("TEST_FOLDER");
originalFolder.setDisplayName("NEW_TEST_FOLDER");
GraphFolderInfo updatedFolder = client.updateFolder(originalFolder);

Copy Folder and Its Content

Das folgende Beispiel zeigt, wie ein Ordner zusammen mit seinen Unterordnern und Nachrichten kopiert wird:

GraphFolderInfo parentFolder = client.createFolder("PARENT_FOLDER");
GraphFolderInfo testFolder = client.createFolder("TEST_FOLDER");
GraphFolderInfo testSubFolder = client.createFolder(testFolder.getItemId(), "TEST_SUBFOLDER");

MapiMessage message = new MapiMessage();
message.setSubject("Test subject");
message.setBody("Test body");
message.setProperty(KnownPropertyList.DISPLAY_TO, "to@host.com");
message.setProperty(KnownPropertyList.SENDER_NAME, "from");
message.setProperty(KnownPropertyList.SENT_REPRESENTING_EMAIL_ADDRESS, "from@host.com");
MapiMessage createdMessage = client.createMessage(testSubFolder.getItemId(), message);

GraphFolderInfo folderCopy = client.copyFolder(parentFolder.getItemId(), testFolder.getItemId());

GraphFolderInfoCollection folderColl = client.listFolders(parentFolder.getItemId());
// TEST_FOLDER
System.out.println(folderColl.get(0).getDisplayName());

folderColl = client.listFolders(folderColl.get(0).getItemId());
// TEST_SUBFOLDER
System.out.println(folderColl.get(0).getDisplayName());

GraphMessageInfoCollection listMessages = client.listMessages(folderColl.get(0).getItemId());
// Test subject
System.out.println(listMessages.get(0).getSubject());

Move Folder and Its Content

Sie können einen Ordner mit seinem gesamten Inhalt auch an einen anderen Ort verschieben:

GraphFolderInfo folder = client.moveFolder(parentFolder.getItemId(), testFolder.getItemId());

Delete Folder

Verwenden Sie das folgende Code‑Beispiel, um einen Ordner dauerhaft zu entfernen:

client.delete(testFolder.getItemId());