Outlook Mail REST API代表访问/模拟?

时间:2015-07-21 14:06:04

标签: outlook outlook-restapi

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

1 个答案:

答案 0 :(得分:4)

您的意思是委托方案,您在此身份验证为UserA,但代表UserB发送邮件? REST API目前不支持该方案。然而,应用程序可以以该用户身份访问用户的电子邮件(前提是用户自己登录并同意)。您还可以使用client credential flow

为其组织中的所有用户获得组织管理员同意

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

如果您使用的是Azure v2 OAuth2端点,则可以使用新的范围来启用此功能。例如,如果您使用(require (planet jphelps/loop)) ;; Download, install, and ;; use the library. (loop for n from 1 to 5 do (displayln ...)) 访问用户的邮件,那么获得对委托邮箱的相同访问权限的范围将为https://outlook.office.com/mail.read

如果您使用的是Azure v1 OAuth2端点,则需要修改应用注册中设置的权限。有新的权限可用,包括"和共享"。例如,提供对用户邮件的读访问权限的权限是"读取用户邮件"。委托访问权限是"读取用户和共享邮件"。

一旦您的应用拥有正确的权限,访问代理数据与访问用户数据的方式非常相似。最大的区别在于您无法使用https://outlook.office.com/mail.read.shared网址细分,因此您必须使用/me,并将/users/{user-id}设置为委托。

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

user-id