Bekerja dengan Folder menggunakan Microsoft Graph

Aspose.Email untuk Java memungkinkan Anda melakukan berbagai operasi folder di Microsoft Graph, seperti listing, membuat, memperbarui, menyalin, memindahkan, dan menghapus folder. Berikut contoh skenario umum.

Daftar Folder

Contoh berikut mengambil semua folder dan mencetak nama tampilan mereka beserta properti-propertinya:

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

Daftar Subfolder dari Folder Inbox

Anda juga dapat menampilkan daftar subfolder di bawah folder tertentu, seperti Inbox:

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

Buat Folder

Anda dapat membuat folder tingkat root maupun subfolder.

Buat Folder Root

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

Buat Subfolder

Contoh kode berikut menunjukkan cara membuat subfolder di bawah folder Inbox:

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

Ambil Folder

Contoh kode berikut menunjukkan cara mengambil folder tertentu, seperti Item Terkirim:

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

Perbarui Folder

Anda dapat memperbarui properti folder, misalnya, nama tampilannya:

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

Salin Folder dan Isinya

Contoh berikut menunjukkan cara menyalin folder beserta subfolder dan pesannya:

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

Pindahkan Folder dan Isinya

Anda juga dapat memindahkan folder beserta semua isinya ke lokasi lain:

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

Hapus Folder

Gunakan contoh kode berikut untuk menghapus folder secara permanen:

client.delete(testFolder.getItemId());