在office365中,我尝试使用EWS api访问其他用户的对话历史记录文件夹。尝试访问的用户具有邮箱的完全访问权限。如果我使用owa连接到邮箱,我可以访问包含所有其他文件夹的对话历史记录文件夹。但是,当我尝试使用ews api从代码连接时,下面会抛出异常:
发生了Microsoft.Exchange.WebServices.Data.ServiceResponseException HResult = -2146233088消息=找不到指定的文件夹 在商店。 Source = Microsoft.Exchange.WebServices StackTrace:
以下是相关代码
var mailbox = new Mailbox(lyncUser.UserName);
var lyncFolderId = new FolderId(WellKnownFolderName.ConversationHistory, mailbox);
var lyncFolder = Folder.Bind(_exchangeService, lyncFolderId);
此外,如果连接到WellKnownFolderName.Inbox,则不会发生异常。
答案 0 :(得分:0)
Answer来自Glen Scales:WellKnowFolderEnum仅在文件夹是通过Lync 2013客户端创建的情况下才有效,如果邮箱已经过时且使用旧的lync客户端,则需要通过名称搜索文件夹,例如https://msdn.microsoft.com/en-us/library/office/hh243707%28v=office.14%29.aspx。通常,您希望使用这两种方法,例如,首先尝试绑定到WellKnowFolderEnum,然后在失败的情况下使用搜索方法。