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
相关产品推荐
相关产品推荐

