调用Microsoft Graph API创建会议报错:无应用访问策略的解决咨询
解决调用
/users/${userId}/onlineMeetings时的"No application access policy found for this application"错误 这个错误的核心原因是:在线会议(OnlineMeetings)的应用级权限需要额外配置应用访问策略,这是Teams API的特殊限制,仅在Entra ID中同意权限不足以让应用访问用户的在线会议资源。
具体解决步骤
安装并连接Teams PowerShell模块
打开管理员权限的PowerShell,执行以下命令:# 安装Teams PowerShell模块 Install-Module -Name MicrosoftTeams -Force -AllowClobber # 导入模块 Import-Module MicrosoftTeams # 连接到Teams服务,按提示完成租户管理员身份验证 Connect-MicrosoftTeams创建应用访问策略
替换<你的应用客户端ID>为你在Entra ID中注册应用的Application (client) ID,执行命令:New-CsApplicationAccessPolicy -Identity "OnlineMeetingsAccessPolicy" -AppIds "<你的应用客户端ID>" -Description "允许应用访问在线会议API资源"将策略分配给目标范围
- 若需要应用访问单个用户的在线会议,替换
<目标用户UPN>为用户的用户主体名称(如xxx@domain.com):Grant-CsApplicationAccessPolicy -PolicyName "OnlineMeetingsAccessPolicy" -Identity "<目标用户UPN>" - 若需要应用访问租户内所有用户的在线会议,执行全局分配命令:
Grant-CsApplicationAccessPolicy -PolicyName "OnlineMeetingsAccessPolicy" -Identity "Global"
- 若需要应用访问单个用户的在线会议,替换
验证策略配置
执行以下命令确认策略已创建并分配成功:# 查看策略详情 Get-CsApplicationAccessPolicy -Identity "OnlineMeetingsAccessPolicy" # 查看用户的策略分配情况(针对单个用户场景) Get-CsApplicationAccessPolicyAssignment -Identity "<目标用户UPN>"
额外说明
- 你之前创建的
OnlineMeetings.ReadWrite.All应用角色是不必要的,应用权限已通过Entra ID管理员同意,无需额外定义应用角色。 - 策略生效可能需要5-10分钟,配置完成后请等待一段时间再重试API调用。
- 该策略仅针对应用权限场景(后端服务无用户上下文),如果使用委派权限调用则不需要此配置。
内容的提问来源于stack exchange,提问作者Rodrigo Urrutia Rod
相关产品推荐
相关产品推荐

