通过ACS与Teams互通时自动录制失效的解决方案咨询
解决方案:ACS集成Teams会议时自动启动录制的问题
核心问题原因
通过Graph API创建会议时设置的recordAutomatically=true仅对原生Teams客户端生效,ACS作为第三方集成入口,不会触发Teams原生的自动录制触发逻辑——该逻辑依赖Teams客户端与会议服务的专属交互流程,ACS客户端默认不兼容此触发机制。
可行解决方案
方案1:通过Teams会议策略强制全局自动录制
针对创建会议的服务账号配置全局自动录制策略,覆盖单个会议的设置:
- 登录Microsoft Teams admin center,进入会议 > 会议策略
- 创建或编辑目标策略,在录制和转录板块勾选自动录制所有会议
- 将该策略分配给你的服务账号
此配置下,无论参会者使用Teams还是ACS客户端加入,会议启动后都会自动触发录制。
方案2:通过Graph API手动触发录制
如果需要针对特定会议灵活控制录制,可在会议创建后主动调用接口启动录制:
- 会议创建完成后,获取对应的
onlineMeetingId - 调用Graph API的
POST /communications/onlineMeetings/{onlineMeetingId}/startRecording接口启动录制 - 可结合会议状态通知(如Graph订阅、Teams Webhook),在首个参会者加入时触发调用
示例请求:
POST https://graph.microsoft.com/v1.0/communications/onlineMeetings/{onlineMeetingId}/startRecording Content-Type: application/json {}
方案3:利用ACS事件触发录制
通过ACS的通话事件通知,监听参会者加入动作并触发录制:
- 在Azure门户为ACS配置事件网格,订阅
Microsoft.Communication.CallConnected事件 - 事件触发时,通过通话上下文识别参会者是否来自ACS客户端
- 若为首个参会者,调用Graph的
startRecording接口启动录制
注意事项
- 调用Graph API的账号需拥有
OnlineMeetings.ReadWrite权限及录制操作权限 - 手动触发录制时需添加状态标记,避免重复调用
- 策略级自动录制会应用到该账号创建的所有会议,需结合业务场景评估适用性
内容的提问来源于stack exchange,提问作者Nick Novotny
相关产品推荐
相关产品推荐

