获取共享文件夹或委托文件夹中的 Outlook 邮件

使用 Outlook,客户可以与其他人共享邮件文件夹,并授予对各个文件夹的读取、创建、修改或删除访问权限。 此外,使用 Outlook,客户还可以委托其他用户代表自己执行操作,并访问特定邮件文件夹或客户的整个邮箱;在 Outlook 中,这也称为“委托”。

Microsoft Graph 支持以编程方式获取其他用户共享的邮件文件夹中的邮件,以及获取共享文件夹本身。 支持也适用于委托的文件夹。

例如,Garth 已向 John 共享并授予对收件箱的读取访问权限。 如果 John 登录到你的应用并提供委派权限 (Mail.Read.Shared 或 Mail.ReadWrite.Shared) ,则应用将访问 Garth 的邮件和 Garth 的收件箱,如本文所述。

Microsoft Graph 权限

使用委派权限,Mail.Read.SharedMail.ReadWrite.Shared,以分别在共享或委派文件夹中读取或写入邮件。

这两个权限不支持订阅对共享或委托文件夹中的项 的更改通知 。 若要对租户中共享、委派或任何其他用户邮件文件夹中的邮件设置更改通知订阅,请使用应用程序权限,Mail.Read

有关详细信息,请参阅 邮件权限

获取共享文件夹中的邮件

你可以在 Garth 的收件箱中获取特定邮件:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages/{id}

成功完成后,你将从 Garth 的收件箱中获取 HTTP 200 OK 和标识{id}的消息实例。

获取共享文件夹中的全部邮件

获取 Garth 收件箱中的所有邮件:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages

成功完成后,你将在 Garth 的收件箱中获取 HTTP 200 OK 和 邮件 实例集合。

获取共享文件夹

获取 Garth 与 John 共享的文件夹(收件箱)。

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')

成功完成后,你将获得 HTTP 200 OK 和一个 mailFolder 实例,该实例表示 Garth 的收件箱文件夹。

如果 Garth 已经委派 John 进一步访问他的收件箱,或者如果 Garth 已将其整个邮箱委派给 John,那么可应用相同的 GET 功能。

如果 Garth 未与 John 共享收件箱,也没有将邮箱委托给 John,则在这些 GET 操作中指定 Garth 的用户 ID 或用户主体名称将返回错误。

后续步骤