Office js 2016年ProPlus MSI版本(MSO 16.0.4549.1000)上的Outlook附加模块给出;“拒绝许可”;displayDialogAsync的错误

Office js 2016年ProPlus MSI版本(MSO 16.0.4549.1000)上的Outlook附加模块给出;“拒绝许可”;displayDialogAsync的错误,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我正在开发一个新的Outlook加载项,它使用displayDialogAsync进行身份验证。我们有几种不同的客户端版本。它在Outlook for Mac 2016和Office 365 ProPlus上运行良好,单击可在Windows上运行版本1808。但在适用于windows的Office 2016 ProPlus MSI版本(MSO 16.0.4549.1000)上,它给出了错误“权限被拒绝” 对话API要求在Windows上为Office 2016或更高版本设置页面 (一次性购买)对

我正在开发一个新的Outlook加载项,它使用displayDialogAsync进行身份验证。我们有几种不同的客户端版本。它在Outlook for Mac 2016和Office 365 ProPlus上运行良好,单击可在Windows上运行版本1808。但在适用于windows的Office 2016 ProPlus MSI版本(MSO 16.0.4549.1000)上,它给出了错误“权限被拒绝”

对话API要求在Windows上为Office 2016或更高版本设置页面 (一次性购买)对于Build 16.0.4390.1000或更高版本,它应该可以工作。我们的构建版本显然更晚了,但我们仍然会遇到这个错误


我还验证了这不是由于清单中的AppDomains造成的。我已将试图在对话框中打开的域添加到AppDomains中。

当Outlook桌面中的API不可用时,它可能会返回“权限被拒绝”错误,这是错误的错误消息。在这种情况下,这只意味着API不可用

由于Outlook版本高于4390,这可能是因为displayDialog API还需要更新版本的OSF客户端DLL。当通过Microsoft Update应用Office更新时,所有Office DLL都应一起自动更新。在手动应用更新的情况下,某些Office DLL可能不包括在更新中。如果用户有意单独应用更新,此页面将列出(查找osfclient-x-none更新,其中包含displayDialog API所需的DLL)

在外接程序中,您还可以做两件事来检测这种情况。首先,我们建议使用API检查Outlook客户端是否支持“邮箱”要求集1.4(这是包含displayDialog API的Outlook要求集)。这将检查API运行所需的一切是否可用


如果外接程序需要API,可以通过更新中支持的最低要求集来避免在外接程序中添加条件。这意味着该加载项在不支持该要求集的Outlook客户端中将不可用。

谢谢MSFT Outlook加载项团队。您为osfclient-x-none提供的链接中有一个与安全性无关的更新。应用该修补程序后,我可以确认dialog在适用于windows的Office 2016 ProPlus MSI版本(MSO 16.0.4549.1000)中正常工作。