2016-04-28 361 views
2

我通过以下链接试图displayDialogAsync方法, https://channel9.msdn.com/Shows/Office-Dev-Show/Office-Dev-Show-Episode-26-Using-the-Dialog-API-in-Office-Add-ins 当我测试从GitHub的项目,我在Office.context.ui得到一个错误“权限被拒绝的错误”。 displayDialogAsync。 下面是一个简单的代码:Office.context.ui.displayDialogAsync权限被拒绝的错误

function ShowDialog() { 
 
     // Reference the Form.html file. 
 
     var dialogUrl = 'https://' + location.host + '/Form.html'; 
 
     // Display the dialog. 
 
     Office.context.ui.displayDialogAsync(dialogUrl, { width: 15, height: 27, requireHTTPS: true }, function (asyncResult) { 
 
      if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) { 
 
       // TODO: Handle error. 
 
       return; 
 
      } 
 

 
      // Get the dialog and register event handlers. 
 
      var dialog = asyncResult.value; 
 
      dialog.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogMessageReceived, function (asyncResult) { 
 
       if (asyncResult.type !== Microsoft.Office.WebExtension.EventType.DialogMessageReceived) { 
 
        // TODO: Handle unknown message. 
 
        return; 
 
       } 
 

 
       // Parse the message. 
 
       var data = JSON.parse(asyncResult.message); 
 
       showNotification('Hello #Office365Dev', data.name); 
 

 
       // TODO: Do something with the data. 
 

 
       // We got our data, time to close the dialog. 
 
       dialog.close(); 
 
      }); 
 
     }); 
 
    }

感谢您的帮助。

回答

2

根据给出的信息,不清楚您运行的是哪个Office应用程序,您正在运行的是哪个版本的Office,也不知道您正在加载哪个版本的Office.js。

对话框API仅适用于最新的点击运行Office 365版本(6741之后)和最新的Mac版本。确保您使用的是最新版本的Office。对话框API在所有应用程序中都不可用,但它应该在Excel,Word和PowerPoint的Office.js 1.1中正确加载。 Outlook的情况略有不同。该Office的Office Online应用程序版本仍在开发中。

API文档在线:https://github.com/OfficeDev/office-js-docs/blob/master/reference/shared/officeui.md

+0

感谢您的帮助。我使用Office 2016 msi版本进行了测试,我将尝试检查它是否适用于点击运行版本。 –

+0

对于MSI版本,API应在May更新中可用。 –