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