代表用户或不代表用户的 Microsoft Graph

时间:2021-02-01 09:19:23

标签: microsoft-graph-api

我正在开发一个应用程序,大约 50 名项目经理使用该应用程序进行报价。报价单准备好后,将从两个帐户之一通过电子邮件发送给目标客户,根据客户的邮政编码,我们将其称为 Left 和 Right。我们希望使用 Microsoft Graph API 来方便发送这些电子邮件。我很困惑我是否应该“代表用户”或“没有用户”访问 Graph。报价不是从登录应用程序的项目经理的帐户发送的。它是从 Left 或 Right 帐户发送的。感谢您的指导!

代表用户: https://docs.microsoft.com/en-us/graph/auth-v2-user

没有用户: https://docs.microsoft.com/en-us/graph/auth-v2-service

1 个答案:

答案 0 :(得分:1)

我认为选择取决于您设置应用程序的方式。

“无用户”流程是指没有用户登录的流程。这意味着您需要在该流程中获取令牌才能使用 Graph API 发送电子邮件。如果您的管理员已同意您的应用程序发送电子邮件的权限,则可以以给定用户的身份发送电子邮件。管理员可以代表给定租户中的所有用户的收件箱,而不是像“代表”流程那样代表他们的收件箱同意。您将需要一个代表您的应用程序的身份验证令牌和给定用户的 ID。虽然这不是我个人的偏好,因为从技术上讲,可以从租户内的任何电子邮件地址发送电子邮件。

如果项目经理确实有权访问左侧或右侧帐户(如共享收件箱),并且如果电子邮件发送是从应用程序本身调用的,则您可以使用“代表”流程。如果不是从该上下文发送,则需要使用第一个选项。