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

调用Microsoft Graph列出笔记本遇InvalidAuthenticationToken错误求助

问题分析与解决方案

1. InvalidAuthenticationToken(受众错误)的原因及解决

你当前用的scope = "api://<guidfromzurehere/.default"是自定义API的权限范围,用这个scope拿到的token,受众(aud)指向你的自定义API,而非Microsoft Graph。调用Graph API时,服务端会校验token的受众是否为https://graph.microsoft.com,所以必然触发错误。

解决办法:
把scope改成https://graph.microsoft.com/.default,这是调用Graph API应用权限时的正确格式。

2. 使用https://graph.microsoft.com/.default时的许可证错误解决

出现许可证错误,按以下几点逐一排查:

  • 目标用户无有效OneNote许可证:请求里指定的myemailaddress用户,必须拥有包含OneNote功能的Office 365订阅(比如E3、E5、OneNote for Business计划等)。登录Azure AD管理中心,检查该用户的许可证分配状态,确保已配置对应权限。
  • 应用权限未正确配置或授权:
    1. 登录Azure AD应用注册页面,找到你的应用,进入「API权限」选项卡。
    2. 添加应用权限(注意是应用权限,不是委托权限,因为你用的是client_credentials客户端凭证流),选择Microsoft Graph下的Notes.Read.All或Notes.ReadWrite.All权限。
    3. 点击「授予管理员同意」,确保权限生效(需全局管理员或权限管理员操作)。
  • 确认API权限支持客户端凭证流:OneNote的/users/{id}/onenote/notebooksAPI确实支持应用权限,但要保证权限配置正确,且用户有合法许可证。

修正后的代码片段

仅需修改scope部分:

scope = "https://graph.microsoft.com/.default"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:40:14