命名空间:microsoft.graph
获取与计划的联机会议和临时呼叫关联的 callRecording 对象。 此 API 支持从除实时事件之外的所有会议类型检索通话记录。
对于录制,此 API 返回与联机会议或临时呼叫关联的单个录制的元数据。 对于录制的内容,此 API 返回与录制关联的字节流。
注意
对于联机会议:
- 这是按流量计费的 API。 有关详细信息,请参阅 会议 API 的付款模型。
- 此 API 不支持使用 创建 onlineMeeting API 创建的与用户日历上的事件不关联的会议。
- 此 API 在一个或多个国家/地区云中的工作方式不同。 有关详细信息,请参阅 Microsoft国家云中的 Teams API 实现差异。
此 API 可用于以下国家级云部署。
| 全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ |
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 | 最低特权权限 | 更高特权权限 |
|---|---|---|
| 委派(工作或学校帐户) | OnlineMeetingRecording.Read.All (联机会议) 用于临时调用的 CallRecording.Read.All () |
不可用。 |
| 委派(个人 Microsoft 帐户) | 不支持。 | 不支持。 |
| 应用程序 | OnlineMeetingRecording.Read.All, OnlineMeetingRecording.Read.Chat (联机会议) 适用于临时呼叫的 CallRecordings.Read.All () |
不可用。 |
注意
- 在委派权限方案中,仅会议组织者支持 获取 callRecording 内容 。 会议参与者无权下载会议录制内容。 有关详细信息,请参阅 权限或基于角色的访问权限。
- 对于联机会议,租户管理员可以取消阻止会议参与者下载会议录制内容。 对于即席呼叫,租户管理员可以代表用户授予进行呼叫的权限。 有关详细信息,请参阅 阻止 Teams 会议录制文件的下载。
- 应用程序权限
OnlineMeetingRecording.Read.Chat使用 特定于资源的许可。
若要对此 API 使用应用程序权限,租户管理员必须创建应用程序访问策略并将其授予用户。 它授权策略中配置的应用使用请求路径) 中指定的用户 ID 代表该用户 (提取联机会议或联机会议项目。 有关详细信息,请参阅 允许应用程序代表用户访问联机会议。
注意
- 联机会议 API 可用于尚未过期的会议。 有关详细信息,请参阅 Microsoft Teams 的限制和规范。
- 对于联机会议,作为会议日历邀请的一部分的用户也可以使用相应的 API,该邀请适用于私人聊天会议和频道会议。
HTTP 请求
获取联机会议的单个录制内容
GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}
获取联机会议的单个录制内容
GET /me/onlineMeetings/{meetingId}/recordings/{recordingId}/content
GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content
获取临时呼叫的单个录制
GET /me/adhocCalls/{callId}/recordings/{recordingId}
GET /users/{userId}/adhocCalls/{callId}/recordings/{recordingId}
获取临时呼叫的单个录制内容
GET /me/adhocCalls/{callId}/recordings/{recordingId}/content
GET /users/{userId}/adhocCalls/{callId}/recordings/{recordingId}/content
可选的查询参数
此方法支持 $selectOData 查询参数 来自定义响应。
请求标头
| 标头 | 值 |
|---|---|
| Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在 200 OK 响应正文中返回响应代码和 callRecording 对象。
示例
示例 1:获取联机会议的 callRecording
以下示例演示如何获取联机会议的单个录制内容。
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/v1.0/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc
响应
以下示例显示了相应的响应。
注意
为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/$entity",
"id": "7e31db25-bc6e-4fd8-96c7-e01264e9b6fc",
"meetingId": "MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy",
"callId": "af630fe0-04d3-4559-8cf9-91fe45e36296",
"createdDateTime": "2023-04-10T08:13:17.5990966Z",
"endDateTime": "2024-01-29T09:27:25.2346000Z",
"contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3",
"recordingContentUrl": "https://graph.microsoft.com/v1.0/$metadata#users('b935e675-5e67-48b9-8d45-249d5f88e964')/onlineMeetings('MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy')/recordings/('7e31db25-bc6e-4fd8-96c7-e01264e9b6fc')/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#Microsoft.Teams.GraphSvc.teamworkUserIdentity",
"id": "b935e675-5e67-48b9-8d45-249d5f88e964",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "d6c9ce1e-4f71-8dc3-5b55-6a411ea46324"
}
}
}
示例 2:获取临时呼叫的 callRecording
以下示例演示如何获取临时呼叫的单个录制。
请求
GET https://graph.microsoft.com/v1.0/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/MyMjMTk6NWFiOWQ2OGUxNDhlNDgyNThmYmMzOWYwOGUzOTkyN2NAdGhyZWFkLnYyIyM1ZjM2NDBlNy1hNTljLTRiZWMtODJjYS1lNjYyNTFmNzk1YjctMTc1NDg5MjIyMi1UcmFuc2NyaXB0VjIjIzA=
响应
注意
为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('f2e8e111-3887-4936-87f8-639292c70d34')/adhocCalls('1c9ddbc9-82be-46b6-8edd-bf833fe33a03')/recordings/$entity",
"id": "MyMjMTk6NWFiOWQ2OGUxNDhlNDgyNThmYmMzOWYwOGUzOTkyN2NAdGhyZWFkLnYyIyM1ZjM2NDBlNy1hNTljLTRiZWMtODJjYS1lNjYyNTFmNzk1YjctMTc1NDg5MjIyMi1UcmFuc2NyaXB0VjIjIzA=",
"callId": "1c9ddbc9-82be-46b6-8edd-bf833fe33a03",
"createdDateTime": "2025-08-11T06:57:17.4065904Z",
"endDateTime": "2025-08-11T06:57:28.2265904Z",
"contentCorrelationId": "58cfc66a-710f-4be7-adc0-1ca5a28f2c0c-0",
"recordingContentUrl": "https://graph.microsoft.com/v1.0/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/MyMjMTk6NWFiOWQ2OGUxNDhlNDgyNThmYmMzOWYwOGUzOTkyN2NAdGhyZWFkLnYyIyM1ZjM2NDBlNy1hNTljLTRiZWMtODJjYS1lNjYyNTFmNzk1YjctMTc1NDg5MjIyMi1UcmFuc2NyaXB0VjIjIzA=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type":"#microsoft.graph.teamworkUserIdentity",
"id":"f2e8e111-3887-4936-87f8-639292c70d34",
"displayName":null,
"userIdentityType":"aadUser",
"tenantId": "8393309d-9fb7-4cce-aafb-eedc8c5781e2"
}
}
}
示例 3:获取呼叫记录联机会议的内容
以下示例演示如何获取联机会议的单个录制内容。
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/v1.0/users/b935e675-5e67-48b9-8d45-249d5f88e964/onlineMeetings/MSpiOTM1ZTY3NS01ZTY3LTQ4YjktOGQ0NS0yNDlkNWY4OGU5NjQqMCoqMTk6bWVldGluZ19ZbU0zTnpJNU9USXRZakU0WlMwME1tUTNMVGt6TVRRdFkyWm1PRGRtWmpsaVptRTNAdGhyZWFkLnYy/recordings/7e31db25-bc6e-4fd8-96c7-e01264e9b6fc/content
响应
以下示例包含响应正文中记录的字节。 标头 content-type 指定录制内容的类型。 负偏移量表示录制开始于正在进行的对话中。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: video/mp4
<bytes of a recording>
示例 4:获取临时呼叫的 callRecording 内容
请求
GET https://graph.microsoft.com/v1.0/users/f2e8e111-3887-4936-87f8-639292c70d34/adhocCalls/1c9ddbc9-82be-46b6-8edd-bf833fe33a03/recordings/MyMjMTk6NWFiOWQ2OGUxNDhlNDgyNThmYmMzOWYwOGUzOTkyN2NAdGhyZWFkLnYyIyM1ZjM2NDBlNy1hNTljLTRiZWMtODJjYS1lNjYyNTFmNzk1YjctMTc1NDg5MjIyMi1UcmFuc2NyaXB0VjIjIzA=/content
响应
响应包含正文中记录的字节。 标头 content-type 指定录制内容的类型。 负偏移量表示录制是在对话进行时开始的。
注意
为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: video/mp4
<bytes of a recording>
示例 5:使用 contentCorrelationId 从相应的脚本获取联机会议的 callRecording
以下示例演示如何使用 contentCorrelationId 属性获取与脚本相对应的在线会议的单个录制内容。
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/v1.0/me/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy/recordings?$filter=contentcorrelationId+eq+'e87c8cf8-50f7-4252-8b9c-ad08ac0fa88d-0'
响应
以下示例显示了相应的响应。
注意
为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('1273a016-201d-4f95-8083-1b7f99b3edeb')/onlineMeetings('MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy')/recordings",
"@odata.count": 1,
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me/onlineMeetings('<key>')/recordings?$select=callId,content",
"value": [
{
"id": "VjIjIzExMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDA3ZjYyNjg0ZmQ0ZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDRiZWQ5YTIzZGMyZmZmNDY4OTc4OTg0NjU2ZjI3MjE5IyM5YzM3ZDZhMS1mNGJmLTRjZWMtOTFmYS0xNDc1MGUwNzFhMTg=",
"meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy",
"callId": "26c38520-e74d-4391-8188-cb458d413825",
"contentCorrelationId": "e87c8cf8-50f7-4252-8b9c-ad08ac0fa88d-0",
"createdDateTime": "2024-07-12T11:37:59.0113199Z",
"endDateTime": "2024-07-12T11:38:11.3313199Z",
"recordingContentUrl": "https://graph.microsoft.com/v1.0/users/1273a016-201d-4f95-8083-1b7f99b3edeb/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19OV1EwWm1GbFpEY3RORFJqTmkwMFlXRm1MV0U1WXpBdE9UZzJNMk0yTm1Nd1pERTNAdGhyZWFkLnYy/recordings/VjIjIzExMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIyNDMyYjU3Yi0wYWJkLTQzZGItYWE3Yi0xNmVhZGQxMTVkMzQwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDA3ZjYyNjg0ZmQ0ZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDRiZWQ5YTIzZGMyZmZmNDY4OTc4OTg0NjU2ZjI3MjE5IyM5YzM3ZDZhMS1mNGJmLTRjZWMtOTFmYS0xNDc1MGUwNzFhMTg=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "1273a016-201d-4f95-8083-1b7f99b3edeb",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "2432b57b-0abd-43db-aa7b-16eadd115d34"
}
}
}
]
}