首页 文章

Outlook 2016 for Mac中的Office.context.ui.messageParent是否已损坏?

提问于
浏览
12

我正在使用新的Office-JS apis开发Outlook插件,并且在构建身份验证流程时,我发现在Outlook 2016 for Mac案例中,对话框系统似乎无法正常工作 .

为了清楚起见,我们正在使用Office Insider Fast Track构建,因为它大大改进了对Office-JS API的支持 .

我经历了这个特定部分的几次迭代(其中大多数在Windows客户端和Mac和Win上的Web客户端都运行良好),并且没有运气 . 场景是:

  • 列出项目

  • 在Outlook中打开任务窗格 .

  • 点击登录按钮

  • 打开一个新窗口,指向我们的身份验证门户

  • 用户登录 .

  • 在auth完成时,窗口重定向到office外接作用域中的页面,并使用auth令牌回调父帧,可以在其中进一步处理 .

步骤1到5在所有平台上都能正常工作 . 第6步拒绝使用Outlook for Mac . 最初,此流程是使用本机js window.open和window.postMessage apis构建的 . 如上所述,除了Outlook Mac之外,这个工作无处不在,其中,API似乎忽略了窗口选项,只是在任何打开的浏览器中打开新选项卡中的url并且从不设置子窗口引用(window.open的结果为null ) .

如果做不到这一点,我按照SO上的建议来使用Office功能,displayDialogAsync和messageParent . 在一些初步障碍之后,这也是设置并在除了Outlook Mac之外的每个平台上工作 .

由于Mac Outlook中没有开发工具或JS控制台支持,我按照此处的建议Howto: Outlook 2016 for Mac - Debugging/View Console Logs in Outlook Add-in并设置Vorlon尝试获取一些上下文,添加大量日志记录点以尝试获取一些上下文 . 不幸的是,虽然Vorlon确实将我的身份验证登陆页面作为客户端,并且看到了Office界面,但我的控制台输出都没有显示出来,这使得JS看起来好像根本没有运行 .

在这一点上,我不知道下一步该尝试什么 . 有没有人遇到过这个问题,或者是在Outlook 2016 for Mac客户端上工作?

澄清背景:

  • 所有身份验证页面都列在Manifest的AppDomains部分中 .

  • 虽然初始版本直接指向我们的auth服务(这不适用于Mac),但当前版本首先打开一个范围内的预认证页面,该页面重定向到auth服务 .

  • Office-JS api的阻止警报,阻止它们用于显示有用信息 .

  • 通过此应用程序的所有版本进行的身份验证都适用于Windows上的Outlook 2016和Win和Mac上的OWA .

谢谢 .

1 回答

  • 3

    几个月前,Outlook Mac中的此问题已得到修复 . 如果有人在最近的Outlook Mac版本中仍然遇到此问题,请回复内部版本号 .

相关问题