Робота з папками за допомогою Microsoft Graph
Aspose.Email for Java дозволяє виконувати різноманітні операції з папками в Microsoft Graph, такі як перелік, створення, оновлення, копіювання, переміщення та видалення папок. Нижче наведено приклади типових сценаріїв.
Перелік папок
Наступний приклад отримує всі папки та виводить їхні відображувані назви разом із властивостями:
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());
}
}
Перелік підпапок у папці Вхідні
Ви також можете перерахувати підпапки в конкретній папці, наприклад, Вхідних:
GraphFolderInfoCollection inboxFolders = client.listFolders(GraphKnownFolders.Inbox);
Створити папки
Ви можете створювати як кореневі папки, так і підпапки.
Створити кореневу папку
GraphFolderInfo newFolder = client.createFolder("TEST_FOLDER");
Створити підпапки
Наступний приклад коду показує, як створити підпапку у папці Вхідні:
GraphFolderInfo inboxTestSubFolder1 = client.createFolder(GraphKnownFolders.Inbox, "TEST_SUBFOLDER_1");
GraphFolderInfo inboxTestSubFolder2 = client.createFolder(newFolder.getItemId(), "TEST_SUBFOLDER_2");
Отримати папку
Наступний приклад коду демонструє, як отримати певну папку, наприклад, Відправлені:
GraphFolderInfo sentItemsFolder = client.getFolder(GraphKnownFolders.SentItems);
Оновити папку
Ви можете оновити властивості папки, наприклад, її відображувану назву:
GraphFolderInfo originalFolder = client.createFolder("TEST_FOLDER");
originalFolder.setDisplayName("NEW_TEST_FOLDER");
GraphFolderInfo updatedFolder = client.updateFolder(originalFolder);
Копіювати папку та її вміст
Наступний приклад показує, як скопіювати папку разом з підпапками та повідомленнями:
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());
Перемістити папку та її вміст
Ви також можете перемістити папку з усім її вмістом у інше місце:
GraphFolderInfo folder = client.moveFolder(parentFolder.getItemId(), testFolder.getItemId());
Видалити папку
Використайте наступний приклад коду, щоб остаточно видалити папку:
client.delete(testFolder.getItemId());