由于我的雇主已将其企业电子邮件解决方案移至我的办公室,因此我正在将应用程序从Google Mail移植到Office365 Outlook。
该应用程序很简单,实质上是为电子邮件收件箱的每个 类别 生成一个RSS feed,并且具有该类别的每条消息都成为新闻。
我正在使用Microsoft Graph API。它被配置为Azure Active Directory应用程序注册。它使用“应用程序权限”访问共享邮箱。它具有以下应用程序API权限-已完全授予:
Mail.Read - to read email
MailboxSettings.Read - to list categories
User.Read.All - just because
因此,最初应用程序似乎运行良好,我可以列出类别并访问收件箱邮件文件夹中的消息。
我的Azure管理员已将权限限制为几个特定的电子邮件帐户,例如Scoping application permissions to specific Exchange Online mailboxes
我的Azure管理员认为他看不到任何其他策略会阻止它起作用。
但,如果我通过Office365 Outlook Web界面存档或删除邮件-当应用程序尝试列出时,我开始收到“ 访问OData已禁用”错误类别(或任何其他访问权限)。
此限制似乎仅限于特定的电子邮件帐户-因为使用相同应用程序注册(相同的客户端ID和权限)的其他电子邮件帐户继续有效。
似乎还会在几个小时后(我认为大约2个小时)-错误消息停止并且一切都恢复正常。
帮助!这与同时从多个“客户端”访问邮箱有关吗?
更新
示例错误:
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access to OData is disabled.",
"innerError": {
"request-id": "03892cab-e0d2-4149-8971-76c02081ea06",
"date": "2019-07-19T07:30:06"
}
}
}