EWS 托管 API 和 Exchange 2013 中的 Folder.WellKnownFolderName 为空

Ale*_*lex 3 c# exchange-server office365 managed-ews

将 EWS 托管 API 与 Office 365 一起使用(ExchangeVersion.Exchange2013_SP1 配置文件)。当为父文件夹调用 Folder.FindFolders 时,对于所有返回的 Folder 对象(包括众所周知的文件夹,如收件箱),我将 Folder.WellKnownFolderName 值设为 null。.TotalCount 之类的其他值很好。

MSDN 中的 Folder.WellKnownFolderName 文档指出它应该适用于 Exchange2013 及更高版本,我相信 Office 365 符合此标准。

此外,如果我连接到 Exchange 2010 服务器并设置 ExchangeVersion.Exchange_2010 配置文件,.WellKnownFolderName 将引发异常而不是返回 null(这是预期的行为)。因此(以我的理解),根据版本,它应该为 Inbox 等知名文件夹抛出异常或返回非空值。

我错过了什么吗?

或者我应该使用其他方法来确定系统文件夹,如收件箱、已发送邮件等?

Gle*_*les 5

默认情况下不会返回该属性,无论您使用什么版本,您都必须指定一个属性集并请求服务器为您返回该属性,例如

        FolderView wkfView = new FolderView(1000);
        wkfView.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
        wkfView.PropertySet.Add(FolderSchema.WellKnownFolderName);

        service.FindFolders(WellKnownFolderName.MsgFolderRoot, wkfView);
Run Code Online (Sandbox Code Playgroud)

  • 我建议您尝试从 github https://github.com/OfficeDev/ews-managed-api 编译最新的 ews 托管 api 如果这是一个错误,您应该能够在源代码中修复它(2.2 在这点) (2认同)