问题描述
我正在使用 Microsoft Graph API 读取 Azure 活动目录中用户邮箱中的电子邮件 (/users/{id | userPrincipalName}/messages)。我注意到对于某些用户,我收到此错误:
HTTP error: 404
Error code: MailBoxNotEnabledForRESTAPI or MailBoxNotSupportedForRESTAPI
Error message: REST API is not yet supported for this mailBox.
经过调查,我发现这些用户没有有效的许可证,也没有附加邮箱。理想情况下,我只想获取启用了邮箱的用户。我尝试检查每个用户的 assignedLicenses 属性,并且只为那些分配了有效许可证的用户获取电子邮件,但我不确定这是否是一种可靠的方法,因为用户可能还有其他一些许可证,但仍未启用邮箱。
有人可以建议一种简单的方法来只获取附加邮箱的用户吗?任何帮助或提示都将受到高度赞赏。
解决方法
从 Microsoft Graph 的角度来看,我没有看到太多选择。绝对检查许可证是一种好方法,但您可能没有太多选择。据说我看到以下选项,
- 您可能需要使用用户的 mailboxsettings API call。这样您就可以获取和更新用户的邮箱设置。
- 您也可以使用 Get-mailbox Exchange Powershell cmdlet 进行验证。