You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel Office.js displayDialogAsync在桌面版2507中触发‘内部错误’问题求助

Excel Office.js displayDialogAsync在桌面版2507中触发‘内部错误’问题求助

大家好,我最近在开发一款Excel插件,需要通过OAuth流程完成用户认证,核心逻辑是调用Office.context.ui.displayDialogAsync方法弹出授权页面。这套代码在Excel Online环境,以及2506版本及更早的Excel桌面版中都能正常运行,但在最新的2507桌面版测试时,一执行就直接抛出内部错误,折腾了好一阵都没找到原因,来求助各位同行!

问题代码

我用来打开授权弹窗的代码如下:

function openAuthDialog(authUrl) {
    app.log("auth url : " + authUrl);
    var codeChallenge = sessionStorage.getItem("code_challenge");
    Office.context.ui.displayDialogAsync(
        authUrl + "?scope=openid&client_id=" + clientId + "&response_type=code&redirect_uri=" + panelURL + "&code_challenge=" + codeChallenge + "&code_challenge_method=S256",
        { height: app.optimizeHeight(), width: app.optimizeWidth() },
        function (asyncResult) {
            if (asyncResult.status === Office.AsyncResultStatus.Failed) {
                console.error("Error from dialog => " + asyncResult.error.code + ": " + asyncResult.error.message);
                window.location.assign(app.host_url + "excel/AppCommon/connect.html");
            } else {
                dialog = asyncResult.value;
                dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
                dialog.addEventHandler(Office.EventType.DialogEventReceived, dialogCallback);
            }
        }
    );
}

错误信息

在Excel桌面版2507中运行时,控制台输出的完整错误如下:

OSF.DDA.AsyncResulterror: OSF.DDA.Error
code: -2147024809
message: "An internal error has occurred."
status: "failed"

我已经核对过authUrl、参数拼接逻辑,和旧版本完全一致,也确认了redirect_uri是符合要求的(毕竟旧版本能正常工作),实在搞不懂为什么新版本会触发这个内部错误。有没有大佬遇到过类似的情况,或者知道2507版本的Office.js在弹窗处理上有什么变更吗?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:13:10