使用Microsoft Graph添加聊天消息遇权限缺失问题求助(应用权限场景)
问题:使用Microsoft Graph发送Teams频道消息时遇Forbidden错误
- 已成功找到目标团队并定位发送消息的频道,但调用Microsoft Graph接口发送消息时返回Forbidden错误
- 应用需作为后台服务运行,必须采用**Application Permissions(应用权限)**方式
- 参考相关工单的解决方案后问题仍未解决,权限列表中找不到
ChannelMessage.ReadWrite.All权限 - 查阅官方文档后发现该权限已无相关记录,推测已被移除
解决指导
1. 明确当前可用的应用权限
目前Microsoft Graph针对Teams频道消息发送的应用权限中,ChannelMessage.ReadWrite.All已被移除,仅存的相关应用权限为:
Teamwork.Migrate.All:仅适用于数据迁移场景,不支持常规消息发送- 常规后台发送频道消息,需通过Teams机器人实现,对应权限为
ChannelMessage.Send
2. 采用Teams机器人方案实现后台消息发送
- 在Azure AD中注册机器人应用,添加
ChannelMessage.Send应用权限并完成管理员同意 - 将机器人添加到目标Teams团队中
- 使用机器人的应用令牌调用接口:
POST /teams/{team-id}/channels/{channel-id}/messages发送消息
3. 备选(非后台场景)
若允许使用用户上下文,可采用委派权限ChannelMessage.Send,由用户授权后发送消息,但该方案不符合纯后台服务的需求,仅作参考
内容的提问来源于stack exchange,提问作者SystemsGuy
相关产品推荐
相关产品推荐

