我们正在合规性/监视空间中开发一个应用程序,在该应用程序中我们监视个人的活动。因此,我们希望将用户的所有内容都拉到用户的Office 365邮箱中-如果其中包含用户写或收到的文本,即使它已被删除,清除等,我们也希望它存在。
我们正在使用Graph API,并且具有使用标准“消息” GET命令的现有实现:
GET https://graph.microsoft.com/v1.0/me/messages
我们正在使用GraphApiClient(Microsoft.Graph v1.9.0),因此代码实际上如下所示:
IUserMessagesCollectionPage pageOfMessages = _graphClient.Users[userId].Messages.Request(options).Top(batchSize).Expand("attachments").GetAsync().Result;
但是,至少这不会返回任何RecoverableItems文件夹中的任何项目。在调查之后,我现在怀疑此命令也可能没有返回其他文件夹。 Well-known folder names的列表非常多,我不确定通用的Messages请求中可能不包括哪些其他内容。
基于此post,我知道您可以一次按WellKnownFolderName请求缺少的文件夹中的消息,如下所示:
GET https://graph.microsoft.com/v1.0/me/MailFolders/RecoverableItemsDeletions/messages
它甚至可以与GraphApiClient一起使用:
IMailFolderMessagesCollectionPage pageOfMessages = _graphClient.Users[userId].MailFolders["RecoverableItemsDeletions"].Messages.Request(options).Top(batchSize).Expand("attachments").GetAsync().Result;
与此有关的问题是:
有人知道最好的方法吗?谢谢!