Lavorare con le cartelle usando Microsoft Graph
Aspose.Email per Java consente di eseguire una varietà di operazioni su cartelle in Microsoft Graph, come elencare, creare, aggiornare, copiare, spostare ed eliminare cartelle. Di seguito sono riportati esempi di scenari comuni.
Elenca cartelle
Il seguente esempio recupera tutte le cartelle e stampa i loro nomi visualizzati insieme alle loro proprietà:
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());
}
}
Elenca sottocartelle dalla cartella Posta in arrivo
Puoi anche elencare le sottocartelle di una cartella specifica, ad esempio Posta in arrivo:
GraphFolderInfoCollection inboxFolders = client.listFolders(GraphKnownFolders.Inbox);
Crea cartelle
Puoi creare sia cartelle di livello radice che sottocartelle.
Crea una cartella radice
GraphFolderInfo newFolder = client.createFolder("TEST_FOLDER");
Crea sottocartelle
Il seguente esempio di codice mostra come creare una sottocartella nella cartella Posta in arrivo:
GraphFolderInfo inboxTestSubFolder1 = client.createFolder(GraphKnownFolders.Inbox, "TEST_SUBFOLDER_1");
GraphFolderInfo inboxTestSubFolder2 = client.createFolder(newFolder.getItemId(), "TEST_SUBFOLDER_2");
Ottieni cartella
Il seguente esempio di codice dimostra come recuperare una cartella specifica, ad esempio Posta inviata:
GraphFolderInfo sentItemsFolder = client.getFolder(GraphKnownFolders.SentItems);
Aggiorna cartella
Puoi aggiornare le proprietà della cartella, ad esempio il suo nome visualizzato:
GraphFolderInfo originalFolder = client.createFolder("TEST_FOLDER");
originalFolder.setDisplayName("NEW_TEST_FOLDER");
GraphFolderInfo updatedFolder = client.updateFolder(originalFolder);
Copia cartella e relativo contenuto
Il seguente esempio mostra come copiare una cartella insieme alle sue sottocartelle e messaggi:
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());
Sposta cartella e relativo contenuto
Puoi anche spostare una cartella con tutto il suo contenuto in un’altra posizione:
GraphFolderInfo folder = client.moveFolder(parentFolder.getItemId(), testFolder.getItemId());
Elimina cartella
Usa il seguente esempio di codice per rimuovere una cartella in modo permanente:
client.delete(testFolder.getItemId());