我已经创建了一个公共日历文件夹,但是没有用户看到它。应该与他人共享。

这是我的代码:

FolderView fv = new FolderView(50);
fv.setTraversal(FolderTraversal.Deep);
FindFoldersResults f = service.findFolders(WellKnownFolderName.PublicFoldersRoot, fv);


问题是它抛出java.lang.NullPointerException并且

microsoft.exchange.webservices.data.EWSHttpException: Connection not established


当我将其更改为WellKnownFolderName.Root或任何其他常量(如Calendar或Inbox)时,它工作正常。我可以使用Outlook查看内容。

如果我没有看到也不知道ID,如何使用Java访问公共日历文件夹?

最佳答案

如果您知道共享文件夹中人员/资源的电子邮件地址,则此方法可能有效

//Create a inclusive view
FolderView fv = new FolderView(100);
fv.setTraversal(FolderTraversal.Deep);

//Find ID of parent calendar
FolderId sharedFolderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox("email.address@of-thing-sharing-calendar"));

//Find children of that calendar
FindFoldersResults findResults = service.findFolders(sharedFolderId, fv);

09-26 03:53