如何使用ExchangeService从Office 365检索邮箱列表

时间:2017-11-07 07:31:44

标签: c# exchangewebservices .net-standard

我有一个从Office 365导入用户(不是联系人,但是邮箱用户)的任务。我只能使用ExchangeService API。

从ExchangeService API我可以看出,没有直接的方法可以做到这一点。我尝试递归扫描所有文件夹,希望得到一些隐藏的“用户”文件夹,但没有运气。

我发现的唯一方法是:

  • 调用ExchangeService.BrowsePeople;
  • 在返回的每个Personas上调用ResolveName;
  • 过滤掉结果,使用Mailbox.MailboxType == MailboxType.Mailbox保留名称解析。

它有点诀窍(至少看起来如此),但似乎太复杂,最重要,太慢了。而且我怀疑它还会进入Active Directory。

是否可以使用ExchangeService更轻松地执行此操作,还是应该坚持使用某些较新的API,例如Graph,它似乎内置了此功能?

1 个答案:

答案 0 :(得分:0)

就个人而言,我喜欢使用GetSearchableMailboxes方法,尽管该方法需要eDiscovery角色,并且仅适用于Exchange 2013及更新版本。