无应用权限,寻求支持委托权限的Microsoft Teams通话记录查询API
获取Teams用户通话记录的替代方案
目前没有能通过CallEvents.Read这类委托权限直接获取完整通话记录的Microsoft Graph API替代接口,但可以通过以下两种方式满足需求:
1. 借助Teams活动流API(支持委托权限)
使用GET /me/activities接口,通过筛选条件提取通话相关的活动记录。所需的委托权限是ActivityFeed.Read,属于用户级权限,申请门槛较低。
- 请求示例:
GET https://graph.microsoft.com/v1.0/me/activities?$filter=activityType eq 'call' - 局限性:返回的是通话活动的基础摘要(比如通话时间、参与方、通话类型),没有
callRecords接口提供的详细元数据(如通话时长、媒体质量统计等)。
2. 通过Teams Bot/Webhook接收实时通话事件
如果你的业务场景允许实时采集通话数据,可以注册Teams Bot并订阅通话相关事件:
- 所需权限:
Calls.JoinGroupCall.Allowed或Calls.Initiate.Allowed(均为委托权限),搭配Bot的事件订阅能力。 - 当用户发起、结束通话或有参与者变动时,Bot会收到对应的事件通知,你可以在后端存储这些事件数据,逐步构建用户的通话记录。
额外提示
CallEvents.Read权限仅用于读取通话的实时触发事件,无法回溯历史通话记录。如果必须获取完整的历史通话元数据,最直接的方式是联系租户管理员申请CallRecords.Read.All应用权限——这是官方提供的获取详细通话记录的唯一途径。
内容的提问来源于stack exchange,提问作者saif barakat
相关产品推荐
相关产品推荐

