我需要将日历条目推入客户端的Outlook帐户。 Exchange对此非常直接。您只需向有权访问的用户进行身份验证,然后就可以将条目推送到其他用户的帐户。这似乎是在Office完全不同的365在没有UI的情况下使用Office 365 REST API
我试图在这里按照指示: https://dev.outlook.com/restapi/getstarted
我创建的应用程序,并得到了应用程序的客户端ID。但是,所有的文档都在oAuth的周围。一般来说,oAuth设计用于用户需要通过浏览器窗口输入其凭据的场景,然后该浏览器窗口将与用户确认他们愿意允许该应用拥有哪些凭据。
这与我的情况不符。我需要能够在没有任何用户界面的情况下将日历条目推入帐户。这是后端集成。它只需要默默地工作。
我看着这个示例应用程序: https://github.com/OfficeDev/O365-Win-Snippets
但是,这是一个前端应用程序。当需要验证时,它会弹出一个窗口强制用户输入他们的凭证。
当我尝试调用入门页面中提到的REST API时,它会返回HTML。这是URL它提到:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id= & REDIRECT_URI = HTTP%3A%2F%2Flocalhost%2Fmyapp%2F & RESPONSE_TYPE =代码&范围= HTTPS%3A%2F%2Foutlook.office.com%2Fmail.read
我用我的客户端ID试过了这个Url的一些排列组合。我试过通过基本的http认证传递我的Office 365凭证。
我被卡住了。
你可以尝试存储令牌,您可以检索当用户登录访问,并使用一个例子访问令牌来执行对API的请求。我相信访问令牌有效期为1小时。您可能想要使用新的Microsoft Graph api btw:http://graph.microsoft.io/en-us/docs/overview/overview – koelkastfilosoof
它不起作用。这是一个后端系统。我们没有任何用户的Outlook凭据,我们从来没有。作为交换,我们只有管理员权限才能将日历条目推入收件箱。 –
我想我已经认识到Office API是一套客户端API,它基本上允许您自动化客户端软件 - 而不是在后端管理类型的东西。我想这就是交换服务的目的。所以,我真的觉得我一直在疯狂追逐。我可以使用交换API来管理组的Office 365帐户吗? –