首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MsGraph WebAPI访问共享邮箱

MsGraph WebAPI访问共享邮箱
EN

Stack Overflow用户
提问于 2021-07-14 06:26:43
回答 1查看 215关注 0票数 0

我需要在Web API中读取共享邮箱中的邮件。Web API将不会代表用户运行,并且没有用户交互。我应该使用什么流对https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows进行身份验证。我尝试了使用applicationID and secret的标准身份验证,但是当我试图通过访问共享邮箱时,我得到了一个拒绝访问的错误。另外,共享邮箱的维护者将如何授予应用程序访问权限?

EN

回答 1

Stack Overflow用户

发布于 2021-07-15 19:28:34

首先,邮箱的委派或共享是通过outlook客户端完成的。

微软图形共享邮箱访问- documented here for shared mail folders与非共享邮箱相同,但具有共享邮箱权限,即Mail.Read.Shared or Mail.ReadWrite.Shared,仅适用于委派权限。

也就是说,当涉及到流程使用时,这取决于您的需求。根据您所描述的内容,您应该能够Client credentials flow和应用程序权限Mail.ReadBasic.All、Mail.Read、Mail.ReadWrite

另一点是,如果您的API不代表用户运行,则共享邮箱的上下文将不适用,因为如果访问令牌具有委派权限,但具有应用程序权限访问,则Graph将考虑共享访问,因此不适用。这就是为什么权限Mail.Read.Shared or Mail.ReadWrite.Shared对应用程序权限不可用的原因。

为了更好地理解:

GET /users/{id | userPrincipalName}/mailFolders..仅当id | userPrincipalName不是登录用户且Mail.Read.Shared or Mail.ReadWrite.Shared被添加为委派权限时才起作用

未登录用户的GET /users/{id | userPrincipalName}/mailFolders..不会将邮箱视为共享邮箱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68369952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档