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

Microsoft Graph API获取RefreshToken与AccessToken问题求助

问题原因及解决方案

问题核心原因

  1. 你收到的AADSTS70008错误和scope参数本身无关,是因为授权码(code)为一次性有效,且有效期仅为几分钟,只要你用同一个code发起过一次请求,无论请求成功还是失败,该code都会立即失效,和你是否携带scope参数没有关联。
  2. 你移除scope参数后拿到的AccessToken没有附带RefreshToken,是因为要获取RefreshToken必须同时满足两个条件:
    • 拿code的授权请求中包含offline_access权限(你当前的配置已经满足该要求)
    • 用code换token的POST请求中必须在scope参数里明确包含offline_access,否则Azure AD不会返回RefreshToken字段

正确操作步骤

  1. 重新在浏览器中发起授权请求,获取全新的未使用过的code,拿到code后需要在10分钟内完成后续操作
  2. 在Postman中构造POST请求到https://login.microsoftonline.com/common/oauth2/v2.0/token,请求体使用x-www-form-urlencoded格式,携带以下参数:
    • client_id:你的应用注册生成的客户端ID
    • client_secret:你生成的客户端密钥
    • grant_type:固定填authorization_code
    • code:你刚获取的新的未使用过的授权码
    • redirect_uri:必须和授权请求中填写的完全一致,即https://oauth.pstmn.io/v1/browser-callback
    • scope:填写你之前授权时的全部权限,必须包含offline_access
  3. 发起请求后,返回结果中就会包含refresh_token字段

注意事项

  • RefreshToken存在有效期,过期后需要重新走授权流程获取新的RefreshToken
  • 每次用RefreshToken刷新AccessToken时,接口也会返回新的RefreshToken,建议每次刷新后替换存储的RefreshToken,避免过期失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 00:45:03