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

无法创建Microsoft Graph API订阅,遭遇401未授权错误求助

解决Microsoft Graph订阅创建401未授权错误的方案

1. 验证Graph权限配置

创建用户资源的变更通知订阅,需至少拥有以下权限之一(需管理员提前同意):

  • User.Read.All(应用权限/委托权限)
  • Directory.Read.All(应用权限/委托权限)

执行Connect-MgGraph时必须明确指定所需权限,示例:

# 交互式登录并请求权限
Connect-MgGraph -Scopes "User.Read.All", "Directory.Read.All"

# 若使用应用身份(非交互式场景),需先在Azure AD注册应用并配置权限,再通过以下方式登录
Connect-MgGraph -ClientId "你的应用ID" -TenantId "你的租户ID" -ClientSecret (ConvertTo-SecureString "你的客户端密钥" -AsPlainText -Force)

登录后执行Get-MgContext,确认返回的Scopes列表包含上述所需权限。

2. 核对Event Grid合作伙伴主题配置

你使用的EventGrid:格式通知URL需满足以下要求:

  • Azure订阅ID、资源组名称、合作伙伴主题名称完全匹配Azure门户中的实际配置,无拼写或大小写错误
  • 合作伙伴主题已完成验证(Event Grid要求主题必须通过验证才能接收外部推送)
  • 已为Microsoft Graph服务主体授予访问该主题的权限:
    在Azure门户的合作伙伴主题页面,进入「访问控制(IAM)」,添加「Event Grid数据发送者」角色分配,主体选择「Microsoft Graph」服务主体。

3. 修正订阅参数细节

  • expirationDateTime:确保生成UTC时区的ISO 8601格式时间,可修改参数为:
    expirationDateTime = (Get-Date).AddMinutes(4000).ToUniversalTime().ToString("o")
    
  • resource参数:"users"是全局用户订阅的合法值,若需订阅特定用户子集可调整为"users/{userId}",全局订阅无需修改。

4. 排查认证上下文有效性

执行以下命令检查当前Graph连接状态:

Get-MgContext

确认:

  • TenantId是目标租户的正确ID
  • Account或AppId对应已授权权限的身份
  • 无过期或无效的令牌信息

若上下文异常,重新执行Connect-MgGraph完成登录,确保登录过程中未出现权限拒绝提示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:44:51