Office.context.ui.displayDialogAsync权限被拒绝错误

时间:2016-04-28 08:48:13

标签: ms-office office-addins office-js

我按照链接尝试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中收到错误“Permission Denied error”。 这是一个简单的代码:

    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();
            });
        });
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

根据提供的信息,您不清楚正在运行的Office应用程序,正在运行的Office版本以及要加载的Office.js的版本。

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

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