将EWS托管API与Office 365一起使用(ExchangeVersion.Exchange2013_SP1配置文件)。当为父文件夹调用Folder.FindFolders时,对于所有返回的Folder对象(包括诸如Inbox之类的知名文件夹),我得到Folder.WellKnownFolderName值为null。其他值如.TotalCount也可以。
MSDN中的Folder.WellKnownFolderName文档指出,它应该适用于Exchange2013及更高版本,并且我认为Office 365符合此条件。
另外,如果我连接到Exchange 2010服务器并设置ExchangeVersion.Exchange_2010配置文件,则.WellKnownFolderName会引发异常,而不是返回null(这是预期的行为)。因此(据我所知),根据版本,它应该引发异常或为Inbox等知名文件夹返回非null值。
我想念什么吗?
还是我应该使用其他方式来确定系统文件夹,例如收件箱,已发送邮件等?
最佳答案
默认情况下不返回该属性,无论您使用哪个版本,您都必须指定一个属性集并请求服务器为您返回该属性集,例如
FolderView wkfView = new FolderView(1000);
wkfView.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
wkfView.PropertySet.Add(FolderSchema.WellKnownFolderName);
service.FindFolders(WellKnownFolderName.MsgFolderRoot, wkfView);