MS Teams CallRecord首个CallSegment缺失原因及获取方法咨询
Microsoft Teams通话记录缺失首段CallSegment的排查与获取方案
缺失原因
- Teams的
callRecord默认仅在根节点展示用户最后一次加入通话的会话段,中途退出重进产生的前序分段默认不会直接展示在摘要视图中,无论是管理中心页面还是基础Graph接口返回的默认内容都遵循这个逻辑。 - 如果首段通话时长低于你租户配置的最短通话记录阈值(默认值为5秒),系统会自动过滤该类超短通话段,避免生成冗余记录。
- 调用Microsoft Graph获取通话记录时未携带
$expand=segments展开参数,仅能获取到最后一段通话的摘要信息。
完整CallSegment获取方式
- 调用Graph接口时补充展开参数即可拉取全量分段:
GET https://graph.microsoft.com/v1.0/communications/callRecords/{callRecordId}?$expand=segments
返回结果的segments数组会包含同一个用户的所有通话分段,你可以通过participant@odata.id匹配对应用户的多段记录。 - 若使用Teams管理中心查看,可在通话详情页点击查看完整会话历史选项,即可展示所有中途进出的通话分段数据。
- 无法获取到
segments的场景下,可以直接读取对应用户participants节点下的joinedDateTime、leftDateTime数组,每组进出时间对应一个独立通话段,同时可关联查询该段的通话质量、设备信息等附属数据。
注意:如果v1.0版本Graph接口仍未返回全部分段,可临时切换到beta版接口测试,beta版对多会话段的记录覆盖更全面,但不建议在生产环境使用beta版接口。
内容的提问来源于stack exchange,提问作者ingo_ww
相关产品推荐
相关产品推荐

