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

MS Teams添加应用报InvalidResourceSpecificPermission错误排查

问题定位

调用appPackage接口返回InvalidResourceSpecificPermission400错误,是因为manifest.json里的资源特定权限配置不符合Teams平台校验规则:你填入的三个权限均为Microsoft Graph全局权限,不属于Teams manifest支持的资源特定权限(RSP)范围,系统识别到非法权限名直接拦截了上传请求。

注意:Teams manifest的authorization.permissions.resourceSpecific节点仅接受平台预定义的、作用范围为单个团队/聊天/用户的专属资源权限,不能直接填入Microsoft Graph的通用权限。你当前配置的People.Read.All、Chat.Create、TeamsTab.ReadWrite.All均为Graph通用权限,不属于该节点的合法取值。

修复方案
  • 第一步:修正manifest的权限节点配置
    如果你的场景(发送自适应卡片、创建网站挂载Tab)不需要使用Teams资源特定授权,直接将resourceSpecific数组置空即可,合法配置参考:
    "authorization": {
        "permissions": {
            "resourceSpecific": []
        }
    },
    
  • 第二步:将Graph权限配置到正确位置
    你需要用到的People.Read.All、Chat.Create、TeamsTab.ReadWrite.All这类Graph接口权限,不要写在Teams manifest文件中,需要在关联的Azure AD应用注册页的「API权限」板块添加对应权限,完成管理员授权后即可正常调用相关接口。
  • 第三步:如果确需使用资源特定权限,请使用合法的权限名
    若你的场景需要用到RSP授权,必须使用Teams平台定义的标准权限名,和你当前场景相关的合法RSP权限示例:
    • 团队范围权限:TeamsTab.ReadWrite.Group(允许应用在授权团队内读写Tab)、ChannelMessage.Send.Group(允许应用在授权团队频道发送消息)
    • 聊天范围权限:TeamsTab.ReadWrite.Chat(允许应用在授权聊天内读写Tab)、ChatMessage.Send.Chat(允许应用在授权聊天内发送消息)
      这类权限的命名后缀为.Group/.Chat(对应授权粒度为单个团队/单个聊天),和Graph全局权限的.All后缀有明显区别,不要混用。
验证方法

修改manifest配置后重新在本地Teams环境旁加载应用,点击「添加」按钮即可正常完成安装,不会再触发权限校验类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:33:22