Office.context.ui.displayDialogAsync在Office 365的Outlook中不起作用

时间:2019-01-26 19:27:51

标签: office365 outlook-addin office-js

我的加载项中有一个登录按钮,用于打开Microsoft oauth,可使用displayDialogAsync来实现。我首先在Outlook Web App(https://outlook.live.com)中尝试过,并且在其中正常运行,也就是说,它打开了登录对话框。但是随后,我在桌面客户端中尝试了同样的操作,但是当我单击“登录”按钮时什么都没发生。

Office.context.ui.displayDialogAsync(fullUrl,
        { height: 40, width: 40 }, function (result) {
            _dlg = result.value;
            _dlg.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
        });

1 个答案:

答案 0 :(得分:1)

您的回调需要检查result.error.coderesult.error.message。一旦知道了错误所在,就可以开始故障排除。这是一个例子。

var dialog;
Office.context.ui.displayDialogAsync('https://myDomain/myDialog.html',
   function (asyncResult) {
       if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            showNotification(asyncResult.error.code = ": " + asyncResult.error.message);
       } else {
            dialog = asyncResult.value;
            dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
      }
});

我建议您也阅读Dialog API | Handle errors and events