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