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

获取有效认证令牌后访问Microsoft Forms URL仍遭403错误求助

使用Client Credentials流访问Microsoft Forms组API时遇到403错误的解决思路

以下是针对你遇到问题的具体排查和解决方向:

1. 应用权限配置问题

Microsoft Forms API的Client Credentials流要求必须在Azure AD中为应用注册分配应用权限(而非委派权限),且需租户管理员完成权限同意:

  • 所需权限:根据需求选择Forms.Read.All或Forms.ReadWrite.All(均为应用权限类型)
  • 操作步骤:
    • 进入Azure AD → 应用注册 → 你的目标应用 → API权限 → 添加权限
    • 选择「Microsoft Forms」→ 应用权限 → 勾选对应权限 → 点击「授予管理员同意」

2. 令牌权限验证

获取令牌后,可通过解码JWT(本地工具即可)检查以下字段:

  • roles:确认是否包含Forms.Read.All或你配置的对应权限,若为空则说明权限未被正确授予
  • aud:确认受众是否为https://forms.office.com,若不符则说明scope设置错误

3. Microsoft 365组访问权限

即使应用拥有全局Forms权限,针对组内表单仍需确保:

  • 应用注册已被添加为目标Microsoft 365组的成员或所有者
  • 操作路径:Microsoft 365管理中心 → 目标组 → 成员 → 添加你的应用注册

4. 代码URL参数修正

你的代码中base_url仍保留占位符{tenantId}和{groupId},需替换为实际值:

base_url = f"https://forms.office.com/formapi/api/{tenantId}/groups/{groupId}/forms"

5. 额外排查手段

  • 用Postman复现请求:排除代码层面的请求构造问题
  • 查看Azure AD审计日志:进入Azure AD → 日志 → 审核日志,搜索应用请求记录,获取更详细的拒绝原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:48:26