Arbeta med mappar med Microsoft Graph
Aspose.Email för Java gör att du kan utföra en rad mapoperationer i Microsoft Graph, såsom listning, skapande, uppdatering, kopiering, flyttning och borttagning av mappar. Nedan följer exempel på vanliga scenarier.
Lista mappar
Följande exempel hämtar alla mappar och skriver ut deras visningsnamn tillsammans med deras egenskaper:
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());
}
}
Lista undermappar från Inkorg
Du kan också lista undermappar under en specifik mapp, till exempel Inkorgen:
GraphFolderInfoCollection inboxFolders = client.listFolders(GraphKnownFolders.Inbox);
Skapa mappar
Du kan skapa både rot‑nivå mappar och undermappar.
Skapa en rotmapp
GraphFolderInfo newFolder = client.createFolder("TEST_FOLDER");
Skapa undermappar
Följande kodexempel visar hur man skapar en undermapp under Inkorgen:
GraphFolderInfo inboxTestSubFolder1 = client.createFolder(GraphKnownFolders.Inbox, "TEST_SUBFOLDER_1");
GraphFolderInfo inboxTestSubFolder2 = client.createFolder(newFolder.getItemId(), "TEST_SUBFOLDER_2");
Hämta mapp
Följande kodexempel demonstrerar hur man hämtar en specifik mapp, såsom Skickade objekt:
GraphFolderInfo sentItemsFolder = client.getFolder(GraphKnownFolders.SentItems);
Uppdatera mapp
Du kan uppdatera mappens egenskaper, till exempel dess visningsnamn:
GraphFolderInfo originalFolder = client.createFolder("TEST_FOLDER");
originalFolder.setDisplayName("NEW_TEST_FOLDER");
GraphFolderInfo updatedFolder = client.updateFolder(originalFolder);
Kopiera mapp och dess innehåll
Följande exempel visar hur man kopierar en mapp tillsammans med dess undermappar och meddelanden:
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());
Flytta mapp och dess innehåll
Du kan också flytta en mapp med allt dess innehåll till en annan plats:
GraphFolderInfo folder = client.moveFolder(parentFolder.getItemId(), testFolder.getItemId());
Ta bort mapp
Använd följande kodexempel för att ta bort en mapp permanent:
client.delete(testFolder.getItemId());