如何从 Office 加载项应用程序访问日历?

How I can access calendar from Office add-in app?

我正在为 Office 365 创建邮件加载项。我想访问日历。使用 Outlook Add-in API 我只得到选定的项目:

   var item = Office.context.mailbox.item;
// Continue with processing the subject of the current item, 
// which can be a message or appointment.

我找到了 Calendar REST API,但要获得有效的令牌,我需要获得适当的授权。但我已经在我的加载项中获得授权。当他添加了我的加载项并已授予访问权限时,我不想重定向用户再次授权。是否可以在没有额外授权的情况下从我的加载项访问日历?

目前 Office 插件和 Graph 之间不支持单点登录。您可以按照本文概述的方法进行操作:http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2015/08/10/connecting-to-office-365-from-an-office-add-in.aspx

Eric Legault 有 post 一个好方法,我已经使用了它。但是,我发现可以在没有任何 OAuth 授权的情况下从邮箱访问日历,例如 Graph API.

您可以使用 makeEwsRequestAsync 方法向托管用户邮箱的 Exchange 服务器上的 Exchange Web 服务 (EWS) 服务发出异步请求(SOAP 消息)。 您的加载项必须具有 ReadWriteMailbox 权限并且服务器管理员必须在客户端访问服务器 EWS 目录上将 OAuthAuthentication 设置为 true 以启用此方法提出 EWS 请求。 您可以找到 EWS reference for Exchange 了解如何为您的请求构建适当的 SOAP。