Office 365 Rest API - 更改邮件 ID

Office 365 Rest API - Changing message Id

是否存在消息上的 Id 字段可能会更改的情况?

我们今天 (2015 年 2 月 19 日星期四 10:29:48 GMT +00:00) 收到一条 ID 以 'MT80AAA=' 结尾的消息。但是,当稍后尝试检索邮件详细信息时,我收到 404 错误消息:

{ "error" : { "code": "ErrorItemNotFound", "message" : "The specified object was not found in the store." } }

当我执行另一个请求以从该收件箱获取所有邮件时,会出现相同的邮件,但它有另一个以 'TwDlAAA=' 结尾的 ID。

从第一次收到消息到现在,消息 ID 和附件 ID 都已更改。

这是普遍现象吗?什么会导致这个?或者这是一个错误?

这不是错误,这绝对是 Exchange 的常见问题。条目 ID 不是静态的,可以在 number of scenarios 中更改。常见的是移动项目(本质上是一个复制和删除操作,复制得到一个新的ID,因为它是一个新项目),或者邮箱移动(这可能适用于您的情况)。

通常我会建议一种乐观地存储 ID 并首先使用它的策略,因为它通常会起作用。那么我建议将记录密钥和搜索密钥存储为备份,这样您就可以在 Id 不再有效的情况下尝试搜索该项目。但是,REST API 不会公开这些字段!因此,您必须根据对您来说很重要的任何字段来搜索项目,这并不理想。我会将此反馈提供给我们的开发人员。