callRecording: delta
命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
获取为指定用户组织的 onlineMeeting 实例添加的一组 callRecording 资源。
Delta 查询支持获取用户组织的联机会议的所有录制的完全同步,以及获取自上次同步以来添加的录制的增量同步。 通常,你会执行初始完全同步,然后定期获取对该记录视图的增量更改。
使用 delta 函数的 GET 请求返回以下任一内容:
@odata.nextLink
(包含具有 delta 函数调用和skipToken
的 URL),或@odata.deltaLink
(包含具有 delta 函数调用和deltaToken
的 URL)。
状态令牌对客户端是不透明的。 若要继续执行一轮更改跟踪,请将从上一个 GET 请求返回的 或 @odata.deltaLink
URL 复制并应用于@odata.nextLink
该记录视图的下一个 delta 函数调用。 响应中返回的 @odata.deltaLink
表示当前一轮更改跟踪已完成。 在开始下一轮同步时,可以保存并使用 @odata.deltaLink
URL,以获取在获取 @odata.deltaLink
后添加的新录制。
有关详细信息,请参阅增量查询文档。
已知问题
以下已知问题与此 API 相关联:
- Using the
$top
query parameter might not return the @odata.nextLink. - 脚本 URL 可能不包含任何内容。
- 对于未打开听录的会议,不会导出录制内容。
- 当会议发生不相关的更改时,增量查询可能会返回较旧的项目。
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 | 最低特权权限 | 更高特权权限 |
---|---|---|
委派(工作或学校帐户) | 不支持。 | 不支持。 |
委派(个人 Microsoft 帐户) | 不支持。 | 不支持。 |
应用程序 | OnlineMeetingRecording.Read.All | 不可用。 |
HTTP 请求
GET /users/{usersId}/onlineMeetings/getAllRecordings(meetingOrganizerUserId='{userId}',startDateTime={startDateTime})/delta
注意: 如果未传递函数参数 meetingOrganizerUserId,请求将失败。
查询参数
跟踪呼叫录制中的更改会导致一轮或多次 delta 函数调用。 如果要使用任意查询参数($deltatoken
和 $skiptoken
除外),则必须在最初的 delta 请求中指定它。 Microsoft Graph 自动将指定的任意参数编码为响应中提供的 @odata.nextLink
或 @odata.deltaLink
URL 的令牌部分。
在后续请求中,可以复制并应用之前响应中返回的 @odata.nextLink
或 @odata.deltaLink
URL,因为此 URL 已包含编码参数。
查询参数 | 类型 | 说明 |
---|---|---|
$deltatoken |
string | 之前的 delta 函数调用的 @odata.deltaLink URL 中返回的状态令牌,指示该组更改跟踪的完成状态。 将此令牌包含在对该集合的下一组更改追踪的首次请求中,并保存和应用整个 @odata.deltaLink URL。 |
$skiptoken |
字符串 | 上一个 delta 函数调用中的 @odata.nextLink URL 返回的状态令牌,指示需要跟踪进一步的更改。 |
$top |
integer | 允许调用方指定每页的最大对象数。 |
请求标头
标头 | 值 |
---|---|
Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
响应
如果成功,此方法在响应正文中返回响应 200 OK
代码和 callRecording 对象的集合。 响应还包括 @odata.nextLink
URL 或 @odata.deltaLink
URL。
示例
示例 1:初始一轮同步
以下示例显示了一系列三个请求,用于同步用户组织的所有联机会议可用的通话记录。
另请参阅 你将在下一轮中执行的操作以获取更多录制内容。
初始请求
在此示例中,呼叫录制是首次同步的,因此初始同步请求不包含任何状态令牌。 这一轮返回当时可用的所有录制。
GET https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta
初始响应
响应包括两个呼叫录制和一个 @odata.nextLink
带有 的 skipToken
响应标头。 URL @odata.nextLink
指示有更多通话记录要检索。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(callRecording)",
"@odata.nextLink": "https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={skipToken1}",
"@odata.count": 1,
"value": [
{
"@odata.type": "#microsoft.graph.callRecording",
"id": "VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=",
"meetingId": "MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy",
"meetingOrganizerId": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"createdDateTime": "2023-12-02T06:59:34.7411768Z",
"recordingContentUrl": "https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy/recordings/VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "a1d286db-6149-4b3d-95ad-23c9e1bf6853"
}
}
}
]
}
第二个请求
第二个请求指定上一个响应中返回的 @odata.nextLink
URL。 请注意,它不再需要指定与初始请求中相同的查询参数,因为 skipToken
URL 中的 @odata.nextLink
编码并包含它们。
GET https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta
$skiptoken={skipToken1}
第二个响应
第二个响应返回一个或多个下一个呼叫记录,以及一个 @odata.nextLink
skipToken
属性,该属性指示有更多的录音。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(callRecording)",
"@odata.nextLink": "https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={skipToken2}",
"@odata.count": 1,
"value": [
{
"@odata.type": "#microsoft.graph.callRecording",
"id": "VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=",
"meetingId": "MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy",
"meetingOrganizerId": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"createdDateTime": "2023-12-02T06:59:34.7411768Z",
"recordingContentUrl": "https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy/recordings/VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "a1d286db-6149-4b3d-95ad-23c9e1bf6853"
}
}
}
]
}
第三个请求
第三个请求继续使用上一个同步请求返回的最新 @odata.nextLink
。
GET https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={skipToken2}
第三轮和最后一轮响应
第三个响应返回唯一的剩余录制内容和一个 @odata.deltaLink
deltaToken
属性,该属性指示返回所有录制内容。 保存并使用 @odata.deltaLink
URL 查询从此以后添加的任何新录制。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(callRecording)",
"@odata.deltaLink": "https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={deltaToken1}",
"@odata.count": 1,
"value": [
{
"@odata.type": "#microsoft.graph.callRecording",
"id": "VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=",
"meetingId": "MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy",
"meetingOrganizerId": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"createdDateTime": "2023-12-02T06:59:34.7411768Z",
"recordingContentUrl": "https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy/recordings/VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "a1d286db-6149-4b3d-95ad-23c9e1bf6853"
}
}
}
]
}
示例 2:下一轮获取更多录制内容
@odata.deltaLink
使用上一轮中最后一个请求中的 ,只能获取自获取 以来@odata.deltaLink
添加的那些录制。
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={deltaToken1}
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(callRecording)",
"@odata.deltaLink": "https://graph.microsoft.com/beta/users({userId})/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={deltaToken2}",
"@odata.count": 1,
"value": [
{
"@odata.type": "#microsoft.graph.callRecording",
"id": "VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=",
"meetingId": "MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy",
"meetingOrganizerId": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"createdDateTime": "2023-12-02T06:59:34.7411768Z",
"recordingContentUrl": "https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/MSoxYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTEqMCoqMTk6bWVldGluZ19PVEJsT1RjeE16QXROemMwWVMwMFl6QTFMVGhpWldFdFpUaGtNMlk0WkRKaFlUQTFAdGhyZWFkLnYy/recordings/VjIjIzExYzkxNjVmZi1hZTkyLTQ5YWYtODliNC00MTU1NTRhMzZhNTFhMWQyODZkYi02MTQ5LTRiM2QtOTVhZC0yM2M5ZTFiZjY4NTMwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODA3ZTcwYzAyM2U4MGEwOWVmN2ZmZDkwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDI3N2Q3NzZjYmNmMjQ5NGNiNDk0NDExZGE3YzRhMmM1IyM3YTM2NDRjYi1mMDA3LTRjMDAtOWJiMy1jMTUzYzE4ODY4NGY=/content",
"meetingOrganizer": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "8b081ef6-4792-4def-b2c9-c363a1bf41d5",
"displayName": null,
"userIdentityType": "aadUser",
"tenantId": "a1d286db-6149-4b3d-95ad-23c9e1bf6853"
}
}
}
]
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈