1

有没有办法使用其他 API 访问某人的电子邮件并代表某人发送?任何代码示例都会有所帮助。

4

1 回答 1

4

你的意思是像一个委托场景,你被认证为 UserA 但代表 UserB 发送邮件?REST API 目前不支持这种情况。但是,该应用程序可以以该用户的身份访问该用户的电子邮件(前提是用户自己登录并同意)。您还可以使用客户端凭据流获得组织中所有用户的组织管理员同意。

更新:我们现在支持通过 REST API 进行委托访问。为此,您的应用必须请求新的权限范围。

如果您使用的是 Azure v2 OAuth2 终结点,则有新的范围可以启用此功能。因此,例如,如果您使用 访问用户的邮件https://outlook.office.com/mail.read,那么可以让您获得对委托邮箱的相同访问权限的范围将是https://outlook.office.com/mail.read.shared

如果您使用的是 Azure v1 OAuth2 终结点,则需要修改应用注册时设置的权限。有新的可用权限将包括“和共享”。例如,授予用户邮件读取权限的权限是“读取用户邮件”。委托访问的权限是“读取用户和共享邮件”。

一旦您的应用程序获得了正确的权限,那么访问委托数据就与您访问用户数据的方式非常相似。最大的区别是您不能使用/meURL 段,而必须使用/users/{user-id},user-id设置为委托。

例如,要访问 bob@example.com 的收件箱:

GET https://outlook.office.com/api/v2.0/users/bob@example.com/mailFolders/inbox/messages
于 2015-07-21T14:52:28.040 回答