【问题标题】:Error occurred when accessing to Office 365 calendar via EWS API通过 EWS API 访问 Office 365 日历时出错
【发布时间】:2018-01-31 11:01:18
【问题描述】:

我的合作伙伴在通过 EWS API 访问 Office 365 日历数据时开始遇到错误消息,并且对于某些 Office 365 租户最终用户会收到以下错误消息:


在存储中找不到指定的对象。由于 ExchangePrincipal 对象包含过时的信息,因此无法连接到用户邮箱数据库 guid:41a840ac-87c3-4a8b-93d8-e334353bd51d 的邮箱。邮箱最近可能被移动了。

通过 OWA 或 Outlook 访问但 EWS API 不会发生错误。它曾经工作正常,但问题开始出现在某些 Office 365 租户上,而不是所有租户上。社区站点 bwlow 中讨论了类似问题,但我们无法获取解决错误的信息。

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_outlook-mso_win10-mso_2016/connect-to-outlook-over-ews-or-eas-not-working/38513de8-56ff-4eec-ba36-26fa2da890d5?auth=1

要问的问题;

是否有任何信息在什么场景或情况下(例如修改使用 ID 或其他)可能导致此错误消息?有什么信息可以修复错误吗?

谢谢你,友纪

【问题讨论】:

  • 租户是否使用 Hybrid ?是否正在使用服务帐户?他们是否使用 X-AnchorMalbox Header 。您是否检查了 Guid 是否存在错误,例如它是否属于正在访问的邮箱
  • 感谢 cmets!这不是混合场景,我们的合作伙伴是 ISV,提供自己的日历服务,使用 EWS API 从 Office365 获取日历数据并显示在他们的服务中。 OWA或outllook访问没有出错,但是EWS API访问出错。此类问题可以由 MS 在高级支持中进行调查,但他们还没有高级合同,他们迫切希望如何调查/解决问题。

标签: api exchangewebservices


【解决方案1】:

在创建交换服务时尝试使用不同的版本,我们目前正在迁移到 365,但 ExchangeVersion.Exchange2007_SP1 工作而不是 2013(取决于您从哪个版本迁移)

ExchangeService exchangeService = new ExchangeService(ExchangeVersion.Exchange2007_SP1)

这解决了以下问题: 在存储中找不到指定的对象。无法连接到用户邮箱数据库 guid 的邮箱:###### 因为 ExchangePrincipal 对象包含过时的信息。邮箱最近可能被移动了。

【讨论】:

  • 我已尝试按照建议更改ExchangeVersion。它没有更改错误消息。有一个关于这个问题的讨论 here 这表明它与正在进行的(2018 年 9 月上旬)微软数据移动有关,与 GDPR 立法有关。 (显然,即使该建议是正确的,那么考虑到此处的 OP 问题的日期,这也不是问题的唯一可能来源,但可能是一个可能的来源。)
  • 我们仍然遇到同样的问题
  • 不同的版本适用于不同的邮箱,但是一旦我找到了每个资源的工作版本,它就会很顺利,我迁移了很多房间,每个房间都有大量的会议。
【解决方案2】:

在电子邮件地址中添加X-AnchorMailbox 标头为我们解决了这个问题:

X-AnchorMailbox: example@mailbox.com

更多信息:https://blogs.msdn.microsoft.com/webdav_101/2018/06/16/best-practices-important-and-critical-headers-for-ews/

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多