Outlook邮件REST API委托访问/模拟?

Outlook邮件REST API委托访问/模拟?,outlook,outlook-restapi,Outlook,Outlook Restapi,有没有办法使用RESTAPI访问某人的电子邮件并代表某人发送?任何代码示例都会很有帮助 您的意思是像代理场景一样,您被认证为UserA,但代表UserB发送邮件?RESTAPI目前不支持这种情况。但是,只要用户自己登录并同意,该应用程序可以以该用户的身份访问该用户的电子邮件。您还可以通过使用获得组织中所有用户的组织管理员同意 更新:我们现在确实支持通过RESTAPI进行委托访问。为此,您的应用程序必须请求新的权限范围 如果您使用的是Azure v2 OAuth2端点,则有一些新的作用域将启用此功

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

您的意思是像代理场景一样,您被认证为UserA,但代表UserB发送邮件?RESTAPI目前不支持这种情况。但是,只要用户自己登录并同意,该应用程序可以以该用户的身份访问该用户的电子邮件。您还可以通过使用获得组织中所有用户的组织管理员同意

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

如果您使用的是Azure v2 OAuth2端点,则有一些新的作用域将启用此功能。例如,如果您使用https://outlook.office.com/mail.read,使您能够访问代理邮箱的范围为https://outlook.office.com/mail.read.shared.

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

一旦你的应用程序拥有了正确的权限,那么访问代理数据与访问用户数据的方式非常相似。最大的区别是不能使用/meurl段,而必须使用/users/{user id},并将用户id设置为委托

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

GET https://outlook.office.com/api/v2.0/users/bob@example.com/mailFolders/inbox/messages

您的意思是像委托场景一样,您作为UserA进行身份验证,但代表UserB发送邮件吗?RESTAPI目前不支持这种情况。但是,只要用户自己登录并同意,该应用程序可以以该用户的身份访问该用户的电子邮件。您还可以通过使用获得组织中所有用户的组织管理员同意

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

如果您使用的是Azure v2 OAuth2端点,则有一些新的作用域将启用此功能。例如,如果您使用https://outlook.office.com/mail.read,使您能够访问代理邮箱的范围为https://outlook.office.com/mail.read.shared.

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

一旦你的应用程序拥有了正确的权限,那么访问代理数据与访问用户数据的方式非常相似。最大的区别是不能使用/meurl段,而必须使用/users/{user id},并将用户id设置为委托

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

GET https://outlook.office.com/api/v2.0/users/bob@example.com/mailFolders/inbox/messages