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());