用于访问邮件消息的 MicrosoftGraph 用户模拟
MicrosoftGraph user impersonation for accessing mail messages
我想获取所有用户的电子邮件。我正在使用代码流身份验证,并且正在开发具有委托权限的多租户应用程序。我认为令牌流认证(for daemon or single-tenant)不适合我。
以上API returns 仅为认证用户的留言。有没有办法使用 Graph API 登录用户(模拟)?请提供此问题的解决方案。
如果您有委托权限,那么您可以执行 https://graph.microsoft.com/v1.0/Ueers('user@domain.com')/messages
来获取 delegate/impersonated 用户的消息。
要为组织中的所有用户获取消息,您可以使用委托流或客户端凭据流。
通过委派流程,您可以使用管理员同意端点请求组织中所有用户的访问权限,并且管理员代表组织中的所有用户同意该应用程序以及当用户与他们获得的应用程序交互时没有同意 UI,应用程序可以为已向应用程序及其请求的资源委派权限的用户获取访问令牌。这是描述如何操作的文章:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-scopes#admin-restricted-scopes
如果您正在构建非交互式应用程序(例如服务守护程序),则第二种选择更合适,在这种情况下,您只能使用应用程序的身份访问数据。这是描述如何执行客户端凭据流程的文章:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-protocols-oauth-client-creds
无论使用哪种方法访问邮箱,您都需要请求 Mail.Read 权限,然后向 https://graph.microsoft.com/v1.0/users(userId|UPN)/messages 端点发出请求。
我想获取所有用户的电子邮件。我正在使用代码流身份验证,并且正在开发具有委托权限的多租户应用程序。我认为令牌流认证(for daemon or single-tenant)不适合我。
以上API returns 仅为认证用户的留言。有没有办法使用 Graph API 登录用户(模拟)?请提供此问题的解决方案。
如果您有委托权限,那么您可以执行 https://graph.microsoft.com/v1.0/Ueers('user@domain.com')/messages
来获取 delegate/impersonated 用户的消息。
要为组织中的所有用户获取消息,您可以使用委托流或客户端凭据流。
通过委派流程,您可以使用管理员同意端点请求组织中所有用户的访问权限,并且管理员代表组织中的所有用户同意该应用程序以及当用户与他们获得的应用程序交互时没有同意 UI,应用程序可以为已向应用程序及其请求的资源委派权限的用户获取访问令牌。这是描述如何操作的文章:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-scopes#admin-restricted-scopes
如果您正在构建非交互式应用程序(例如服务守护程序),则第二种选择更合适,在这种情况下,您只能使用应用程序的身份访问数据。这是描述如何执行客户端凭据流程的文章:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-protocols-oauth-client-creds
无论使用哪种方法访问邮箱,您都需要请求 Mail.Read 权限,然后向 https://graph.microsoft.com/v1.0/users(userId|UPN)/messages 端点发出请求。