Microsoft Graph API Mail:已删除邮件的webLink?

时间:2018-04-17 10:39:44

标签: outlook microsoft-graph

我正在尝试找出一种方法来为OWA提供webLink以删除邮件。常规消息具有webLink属性,但一旦删除,URL https://graph.microsoft.com/v1.0/me/messages/<the_id>将返回该有效负载而不是消息信息:

{
  "error": {
    "code": "ErrorItemNotFound",
    "message": "The specified object was not found in the store., The process failed to get the correct properties.",
    "innerError": {
      "request-id": "x-x-x-x",
      "date": "2018-04-17T00:00:00"
    }
  }
}

1 个答案:

答案 0 :(得分:1)

当邮件被删除时(或者实际发生的情况是邮件在邮箱中移动到“已删除邮件”文件夹或其中一个“保留项目”文件夹)时,邮件的ID会发生变化,因此您收到的错误是一致的接着就,随即。这就是为什么存储这些Id主要是一个坏主意,因为如果消息在文件夹等之间移动,则会发生同样的事情。您需要做的是根据消息的新位置(取决于用于删除消息的方法)找到消息的新Id,并且您需要某种类型的搜索参数,例如InternetMessageId应该工作但是唯一的像pidTagSearchKey这样的属性可能会更好https://msdn.microsoft.com/en-us/library/office/cc815908.aspx?f=255&MSPPError=-2147217396。但是,如果您在上传消息被软或硬删除之前保存了上述消息的Internet MessageId(意味着它最终会在RecoverableItemsDeletions文件夹中),那么您可以使用类似

之类的内容
GET /v1.0/users('user@domain.com')/MailFolders/RecoverableItemsDeletions/messages/?$filter=internetMessageId+eq+%27%3c433353153.1229207532.1524008554985.JavaMail.root%40sjmas03.marketo.org%3e%27

在新位置找到邮件