Microsoft Graph ile Klasörleri Yönetme
Aspose.Email for Java, Microsoft Graph’ta klasör listeleme, oluşturma, güncelleme, kopyalama, taşıma ve silme gibi çeşitli klasör işlemleri yapmanıza olanak tanır. Aşağıda yaygın senaryolara örnekler verilmiştir.
Klasörleri Listele
Aşağıdaki örnek, tüm klasörleri alır ve görüntü adlarını özellikleriyle birlikte yazdırır:
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());
}
}
Inbox Klasöründen Alt Klasörleri Listele
Belirli bir klasörün, örneğin Inbox’ın alt klasörlerini listeleyebilirsiniz:
GraphFolderInfoCollection inboxFolders = client.listFolders(GraphKnownFolders.Inbox);
Klasörler Oluştur
Hem kök seviyesinde klasörler hem de alt klasörler oluşturabilirsiniz.
Kök Klasör Oluştur
GraphFolderInfo newFolder = client.createFolder("TEST_FOLDER");
Alt Klasörler Oluştur
Aşağıdaki kod örneği, Inbox klasörünün altında bir alt klasör nasıl oluşturulacağını gösterir:
GraphFolderInfo inboxTestSubFolder1 = client.createFolder(GraphKnownFolders.Inbox, "TEST_SUBFOLDER_1");
GraphFolderInfo inboxTestSubFolder2 = client.createFolder(newFolder.getItemId(), "TEST_SUBFOLDER_2");
Klasör Al
Aşağıdaki kod örneği, Sent Items gibi belirli bir klasörü nasıl alacağınızı gösterir:
GraphFolderInfo sentItemsFolder = client.getFolder(GraphKnownFolders.SentItems);
Klasörü Güncelle
Klasör özelliklerini güncelleyebilirsiniz, örneğin, görüntülenen adını:
GraphFolderInfo originalFolder = client.createFolder("TEST_FOLDER");
originalFolder.setDisplayName("NEW_TEST_FOLDER");
GraphFolderInfo updatedFolder = client.updateFolder(originalFolder);
Klasörü ve İçeriğini Kopyala
Aşağıdaki örnek, bir klasörü alt klasörleri ve mesajlarıyla birlikte nasıl kopyalayacağınızı gösterir:
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());
Klasörü ve İçeriğini Taşı
Ayrıca bir klasörü tüm içeriğiyle başka bir konuma taşıyabilirsiniz:
GraphFolderInfo folder = client.moveFolder(parentFolder.getItemId(), testFolder.getItemId());
Klasörü Sil
Aşağıdaki kod örneğini kullanarak bir klasörü kalıcı olarak silin:
client.delete(testFolder.getItemId());