无需访问会议聊天与Teams客户端,如何下载create event创建的会议录制文件?
下载通过Event创建的Teams会议录制文件的替代方法
针对你提到的通过create event端点创建的在线会议无法直接调用API获取录制文件的问题,以下是几种绕过Protected APIs的可行方案:
1. 直接从OneDrive/SharePoint检索并下载
Teams会议录制文件默认存储在**会议组织者的OneDrive(私人会议)或会议所属团队的SharePoint文档库(团队会议)**中,命名规则通常包含会议主题和时间戳。你可以通过Graph API直接检索这些文件:
- 私人会议:调用
GET /me/drive/root/search(q='{会议主题} 录制'),匹配到目标文件后,使用GET /me/drive/items/{item-id}/content接口直接下载文件内容。 - 团队会议:先获取会议所属团队的ID,再调用
GET /groups/{group-id}/drive/root/search(q='{会议主题} 录制'),后续下载步骤同上。
注意:需要申请
Files.Read.All或Files.ReadWrite.All权限,且需确保调用者有访问对应OneDrive/SharePoint文件的权限。
2. 通过CallRecords API获取录制文件路径
利用Microsoft Graph的通话记录API,可以找到会议录制的存储信息:
- 先通过会议的时间范围查询通话记录:
GET /communications/callRecords?$filter=startDateTime ge '{会议开始时间}' and endDateTime le '{会议结束时间}' - 在返回的通话记录中,找到对应会议的条目,查看
recordingInfo字段,该字段会包含录制文件的DriveItem ID或直接下载链接。 - 拿到ID后,使用OneDrive/SharePoint的文件下载接口获取录制文件。
此方法需要
CallRecords.Read.All权限,且仅适用于已完成的会议录制。
3. 用Power Automate实现自动下载
如果不需要实时手动调用API,可以通过Power Automate搭建自动化流程:
- 触发条件选择「当OneDrive/SharePoint文件夹中有文件创建」(指向Teams录制文件的默认存储文件夹)
- 添加「下载文件」动作,将录制文件自动保存到指定位置(如本地服务器、另一个云存储)
- 配置完成后,会议录制完成时会自动触发下载,无需后续手动操作。
内容的提问来源于stack exchange,提问作者dhsdshdhk
相关产品推荐
相关产品推荐

