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

近期更新后OfficeRuntime.auth.getAccessToken调用挂起问题咨询

OfficeRuntime.auth.getAccessToken 调用挂起问题解决方案

这是近期Office桌面端版本更新后出现的大面积共性问题,大量Outlook插件开发者都提交了同类反馈。

问题根因

受影响的主要是2309(内部版本16827.20130)及以上Current Channel版本的桌面端Outlook,版本更新后OnCompose事件触发时,Outlook内部资源调度逻辑存在死锁缺陷,会阻塞OfficeRuntime.auth.getAccessToken的异步回调,导致调用既不返回结果也不抛出错误。微软已经在2311预览版中推送了修复补丁,后续正式版更新后会自动恢复。

可用临时规避方案

  • 调用OfficeRuntime.auth.getAccessToken时显式传入allowSignInPrompt: true参数,即使业务场景不需要弹出登录弹窗,新增该参数也可以绕开死锁逻辑
  • 将OnCompose事件中同步执行的token获取逻辑,延迟300~500ms异步执行,避开Outlook新建撰写窗口时的资源抢占高峰
  • 调用时增加超时逻辑,避免插件业务逻辑直接卡死,参考代码如下:
// 带超时的getAccessToken封装
const getToken = async () => {
  const timeoutMs = 5000
  return Promise.race([
    OfficeRuntime.auth.getAccessToken({
      allowSignInPrompt: true,
      allowConsentPrompt: false
    }),
    new Promise((_, reject) => {
      setTimeout(() => reject(new Error('access token request timeout')), timeoutMs)
    })
  ])
}

其他排查点

确认插件清单的WebApplicationInfo节点配置没有变动,scopes字段必须完整包含openid profile offline_access以及你申请的Graph API权限,缺失权限在新版本中也会触发无报错的调用阻塞。

内容的提问来源于stack exchange,提问作者Alan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:27:05