Outlook.com REST API-在不动态登录的情况下获取令牌

Outlook.com REST API-在不动态登录的情况下获取令牌,rest,email,outlook,outlook-restapi,outlook.com,Rest,Email,Outlook,Outlook Restapi,Outlook.com,用例:事件发生时从web应用程序发送的电子邮件,如someuser@somedomain.com通过MS Exchange或Outlook.com,使用。仅允许HTTP访问(=>无SMTP/IMAP) 所有这些似乎都提到,该应用程序必须将用户转发到,登录,然后使用MS online发回的授权码 但是,这不适用于后台任务(=>不可能登录!),其中需要预构建令牌(具有一些预定义的作用域),以便通过API访问Outlook.com以发送邮件someuser@somedomain.com. 有没有关于如

用例:事件发生时从web应用程序发送的电子邮件,如someuser@somedomain.com通过MS Exchange或Outlook.com,使用。仅允许HTTP访问(=>无SMTP/IMAP)

所有这些似乎都提到,该应用程序必须将用户转发到,登录,然后使用MS online发回的授权码

但是,这不适用于后台任务(=>不可能登录!),其中需要预构建令牌(具有一些预定义的作用域),以便通过API访问Outlook.com以发送邮件someuser@somedomain.com.

有没有关于如何做到这一点的提示/指示?基本上,自动身份验证不需要作为someuser@somedomain.com'在MS联机登录页上

我没有发现M$文档有任何帮助,并且发现它很难导航/理解:(


谢谢!

在某个时候,你必须让用户登录才能授予对你的应用程序的访问权限。因此,你需要有某种面向用户的web前端,这样他们才能做到这一点。一旦他们登录并且你获得了访问令牌/刷新令牌,你的后台应用程序应该能够在没有用户交互的情况下静默地使用这些令牌至少在用户撤销访问或刷新令牌过期之前


目前Azure(提供登录/令牌功能)确实会在一段时间(90天)后使刷新令牌过期,此时用户必须再次登录才能授予您的应用程序继续访问权限。

我不知道这个API,但通常您必须注册并从代码中获取要使用的API密钥。这提到了注册应用程序后您可以获得的令牌,也许您应该试试。@cdelmas,谢谢,我试过了。显然,唯一的po可能的方法是在Azure广告上注册应用程序(如果需要,限制可以访问应用程序的用户,同样是在Azure广告级别)然后让用户登录到应用程序,从而生成一个令牌,该令牌同样具有严格的90天到期限制。感谢您提供的信息,Jason!因此您确实无法在企业解决方案中使用outlook.com API,因为您确实无法强制管理员/维护人员每90天登录一次服务帐户(并重新生成刷新令牌).是否有计划容纳由用户管理的持续时间较长的刷新令牌?用例不涉及普通用户,而是服务帐户(传统上不会设置密码到期等)。我的理解是,有这些计划。但我担心我误解了您。Outlook.com帐户通常不涉及企业解决方案。您是否正在访问Office 365(业务/工作帐户)或Outlook.com(个人消费者帐户)?>>然而,我担心我误解了您。Outlook.com帐户通常不涉及企业解决方案。您是否正在访问Office 365(业务/工作帐户)或Outlook.com(个人消费者帐户)?用例是为我们的客户构建邮件组件,具有以下列出的限制。1.客户(比如说,somecompany.com)希望电子邮件只能通过其公司的MS exchange发送,2.发送电子邮件的发件人印章应为“someuser@somecompany.com“3.不允许SMTP/IMAP访问exchange。[续..]此邮件组件将由企业系统(在后台)使用,该系统将向外部用户发送电子邮件(@[^somecompany])或内部(*@somecompany.com)地址。因此,我们必须1.创建一个服务帐户,“someuser@somecompany.com,2.在某公司的Azure广告上创建应用程序,3.限制访问someuser@somecompany.com"对于应用程序4。让他登录并获取刷新令牌5。使用该刷新令牌生成访问令牌,以便邮件可以由邮件组件发送。[续..]现在,此流需要1。“someuser@somecompany.com"每90天登录MS online page,重新生成刷新令牌,2.使邮件组件可以访问此新令牌,以便它可以使用令牌并在后台发送邮件。这对于企业解决方案来说是不可接受的(我的意思是,每90天登录一次的义务):(我希望我已经把我的用例讲清楚了。请让我知道你的想法。再次感谢你的帮助!