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

使用Rest API从安全SharePoint下载文件遇AudienceUriValidationFailedException错误

解决AudienceUriValidationFailedException异常的排查步骤

这个异常的核心原因是访问令牌的受众(aud)与SharePoint期望的受众不匹配,以下是针对你操作流程的具体排查点:

1. 检查令牌请求的Scope参数

你在Postman获取令牌时,必须指定正确的SharePoint资源Scope:

  • 正确格式:https://[COMPANY NAME].sharepoint.com/.default(注意是公司常规SharePoint站点域名,不是admin站点)
  • 若误用了https://graph.microsoft.com/.default或其他无关Scope,令牌受众会指向Graph API而非SharePoint,必然触发验证失败。

2. 补全SharePoint应用权限XML配置

在appinv.aspx页面添加应用时,仅点击Lookup和Trust是不够的,需在"Permission Request XML"输入框中填写对应权限的XML,以应用权限模式(客户端密钥)访问为例:

<AppPermissionRequests AllowAppOnlyPolicy="true">
  <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read" />
</AppPermissionRequests>
  • AllowAppOnlyPolicy="true"必须开启,否则无法通过应用身份访问SharePoint。

3. 配置并授权Azure应用的API权限

在Azure门户的应用注册中:

  • 添加SharePoint Online的应用权限(而非委托权限),比如Sites.Read.All、Sites.FullControl.All等,匹配你需要的操作权限。
  • 添加权限后,必须点击"授予管理员同意"(仅租户管理员可操作),否则令牌请求会因权限未授权失败。

4. 验证访问令牌的Aud字段

获取令牌后,用JWT解码工具(本地工具即可)查看aud字段:

  • 正确值应为https://[COMPANY NAME].sharepoint.com
  • 若aud是其他值(如https://login.microsoftonline.com/xxx或Graph API地址),说明Scope参数错误,需修正后重新获取令牌。

5. 确认应用注册的受众配置

在Azure应用注册的"公开API"选项卡中,检查"已授权的受众"是否添加了目标SharePoint站点URL:https://[COMPANY NAME].sharepoint.com,确保应用被允许访问该资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:22:34