使用 EWS、OAuth2 和用户凭据访问用户邮箱

Access to user's mailbox using EWS, OAuth2 and user's credentials

在我们的应用程序中,我们使用 EWS 和基本身份验证。 如果用户具有管理员凭据,则他只能访问自己的邮箱或组织中的所有邮箱。现在我们正在尝试用 OAuth2 身份验证替换基本身份验证。 我们在 Azure 门户上注册了应用程序,添加了权限 "EWS.AccessAsUser.All"。

对于管理员帐户,一切正常。我们的应用程序可以访问管理员组织中的任何邮箱。

问题在于我们无法获得标准用户帐户的授权码。 "TestApp needs permission to access resources in your organization that only an admin can grant" 已显示。

所以问题是:有没有办法使用 EWS、OAuth2 和用户凭据访问用户邮箱?

使用 oAuth,您需要在租户中同意您的申请,例如 https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent 一旦您授予租户范围内的同意,除非您应用限制,否则任何用户都应该能够使用该应用程序。如果您的应用程序正在被其他公司使用,那么您需要进行多租户应用程序注册,并且客户需要先同意在其租户中使用它,然后才能使用它。