Office.auth.getAccessToken()在Outlook网页版报错13006,请求技术支持
Office.auth.getAccessToken调用失败(错误码13006)排查方案
调用代码:
Office.auth.getAccessToken({ allowSignInPrompt: true, allowConsentPrompt: true, forMSGraphAccess: true }).then(console.log);
执行失败,返回错误响应:
{ "name": "Office认证请求出错", "message": "客户端发生意外错误", "code": 13006 }
此前功能正常,已以管理员身份重新授权应用,当前应用清单的<WebApplicationInfo>配置如下:
<WebApplicationInfo> <Id>myappId</Id> <Resource>api://localhost:3000/myappId</Resource> <Scopes> <Scope>User.Read.All</Scope> <Scope>User.Read</Scope> <Scope>profile</Scope> <Scope>openid</Scope> </Scopes> </WebApplicationInfo>
排查步骤
- 核对
Resource配置与Azure AD应用注册的一致性:
确保api://localhost:3000/myappId和Azure应用注册里的"API权限"中配置的标识符URI完全一致,本地调试时端口变更会直接导致不匹配,要重点检查。 - 修正
forMSGraphAccess参数的使用:
当设置forMSGraphAccess: true时,Office会直接请求Microsoft Graph的访问令牌,此时<WebApplicationInfo>中的Resource必须改为https://graph.microsoft.com。如果需要同时访问自定义API和Graph,要分开调用:一次用forMSGraphAccess: true拿Graph令牌,另一次不设置该参数拿自定义API的令牌。 - 确认管理员授权的权限状态:
去Azure应用注册的"API权限"页面,检查User.Read.All的权限是否显示"已授予管理员同意"。如果是用户类型权限,管理员同意后还需要用户重新登录确认授权。 - 清除Office客户端缓存:
旧的令牌或授权缓存可能引发异常,尝试重启Office应用;如果是Web版Office,直接清除浏览器缓存后重试。 - 检查重定向URI配置:
Azure应用注册里必须添加正确的重定向URI:桌面版Office一般需要https://login.microsoftonline.com/common/oauth2/nativeclient,Web版则要填应用的实际域名地址。
内容的提问来源于stack exchange,提问作者Baama
相关产品推荐
相关产品推荐

