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

迁移Outlook REST API用户及令牌至MS Graph,无需重新授权可行吗?

针对Outlook REST API转MS Graph API的令牌迁移方案

核心问题是Outlook REST API的刷新令牌与Microsoft Graph API的令牌体系不兼容,导致CompactToken parsing failed with error code: 8004920A错误,根源是两者的受众(aud)和发行者(iss)字段不一致。

无需用户重新走OAuth流程的迁移方法主要有以下两种:

1. 用旧刷新令牌兑换Graph兼容令牌

直接向Azure AD的令牌端点发起请求,将原Outlook REST的refresh token兑换为适用于Graph API的新令牌,步骤如下:

  • 发送POST请求到https://login.microsoftonline.com/common/oauth2/v2.0/token
  • 请求参数需包含:
    • grant_type=refresh_token
    • client_id=你的应用注册ID
    • client_secret=你的应用密钥(仅机密客户端需要)
    • refresh_token=原Outlook REST API的刷新令牌
    • scope=offline_access https://graph.microsoft.com/[你的所需权限](比如Mail.ReadWrite,根据业务需求调整)

只要原refresh token未过期,且你的应用已配置好对应的Graph API权限,Azure AD会返回新的access token和refresh token,后续即可用新令牌调用Graph API。

2. 确认应用权限配置

确保你的应用在Azure AD门户中已添加Microsoft Graph的相关权限(委托权限或应用权限,根据业务场景选择),并且完成了必要的管理员同意(如果是应用权限或需要全局范围的委托权限)。权限配置缺失会导致令牌兑换失败。

关键注意点

  • 若原refresh token已过期,此方法无效,必须引导用户重新授权。
  • 部分租户可能因安全策略限制旧令牌兑换,这种情况也需要用户重新走OAuth流程。
  • 建议先小批量测试兑换逻辑,验证成功后再对全量用户执行迁移。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:15:21