callRecording: delta
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Получите набор ресурсов callRecording , добавленных для экземпляров onlineMeeting , упорядоченных указанным пользователем.
Разностный запрос поддерживает как полную синхронизацию, которая получает все записи для онлайн-собраний, организованных пользователем, так и добавочную синхронизацию, которая получает записи, добавленные с момента последней синхронизации. Как правило, вы выполняете начальную полную синхронизацию, а затем периодически получаете добавочные изменения в этом представлении записи.
Запрос GET с функцией delta возвращает одно из следующих данных:
- Объект @odata.nextLink , содержащий URL-адрес с вызовом функции delta и
skipToken
. - Объект @odata.deltaLink , содержащий URL-адрес с вызовом функции delta и
deltaToken
.
Маркеры состояния непрозрачны для клиента. Чтобы продолжить цикл отслеживания изменений, скопируйте и примените URL-адрес @odata.nextLink или @odata.deltaLink , возвращенный из последнего запроса GET, к следующему вызову функции delta для этого же представления записи. Значение @odata.deltaLink , возвращаемое в ответе, означает, что текущий цикл отслеживания изменений завершен. Вы можете сохранить и использовать URL-адрес @odata.deltaLink при запуске следующего цикла синхронизации, чтобы получить новые записи, добавленные после получения @odata.deltaLink.
Дополнительные сведения см. в документации по разностному запросу.
Известные проблемы
С этим API связаны следующие известные проблемы:
-
$top
Использование параметра запроса может не возвращать @odata.nextLink. - URL-адреса расшифровки могут не включать содержимое.
- Записи не экспортируются для собраний, на которых не включена транскрибирование.
- Разностные запросы могут возвращать старые артефакты, если собрания имеют несвязанные изменения.
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Не поддерживается. | Не поддерживается. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | OnlineMeetingRecording.Read.All | Недоступно. |
HTTP-запрос
GET /users/{usersId}/onlineMeetings/getAllRecordings(meetingOrganizerUserId='{userId}',startDateTime={startDateTime})/delta
Заметка: Если не передать параметр функции meetingOrganizerUserId, запрос завершится ошибкой.
Параметры запроса
При отслеживании изменений в записях вызовов выполняется цикл из одного или нескольких вызовов разностной функции. Если вы используете параметры запроса, отличные от $deltaToken
и $skipToken
, их необходимо указать в начальном запросе delta. Microsoft Graph автоматически кодирует все указанные параметры в часть маркера url-адреса @odata.nextLink или @odata.deltaLink , указанного в ответе.
В последующих запросах скопируйте и примените URL-адрес @odata.nextLink или @odata.deltaLink из предыдущего ответа, так как этот URL-адрес уже содержит закодированные параметры.
Параметр запроса | Тип | Описание |
---|---|---|
$deltaToken |
String | Маркер состояния, возвращенный в URL-адресе @odata.deltaLink предыдущего вызова функции delta, который указывает на завершение этого раунда отслеживания изменений. Сохраните и примените весь URL-адрес @odata.deltaLink , включая этот маркер, в первом запросе следующего раунда отслеживания изменений для этой коллекции. |
$skipToken |
String | Маркер состояния, возвращенный в URL-адресе @odata.nextLink предыдущего вызова функции delta, который указывает на то, что необходимо отслеживать дальнейшие изменения. |
$top |
Integer | Позволяет вызывающей объекту указать максимальное количество объектов на странице. |
Заголовки запросов
Заголовок | Значение |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Отклик
В случае успешного 200 OK
выполнения этот метод возвращает код отклика и коллекцию объектов callRecording в тексте отклика. Ответ также содержит URL-адрес @odata.nextLink или URL-адрес @odata.deltaLink .
Примеры
Пример 1. Начальный цикл синхронизации
В следующем примере показана серия из трех запросов для синхронизации записей звонков, доступных для всех онлайн-собраний, организованных пользователем.
- Шаг 1. Исходный запрос и отклик.
- Шаг 2. Второй запрос и ответ.
- Шаг 3. Третий запрос и последний отклик.
См. также, что вы делаете в следующем раунде, чтобы получить больше записей.
Исходный запрос
В этом примере записи вызовов синхронизируются в первый раз, а первоначальный запрос синхронизации не содержит маркер состояния. Этот раунд возвращает все записи, доступные в то время.
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",
"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"
}
}
}
]
}
Второй запрос
Второй запрос указывает URL-адрес @odata.nextLink , возвращенный из предыдущего ответа. Обратите внимание, что больше не нужно указывать те же параметры запроса, что и в первоначальном запросе 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",
"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/8b081ef6-4792-4def-b2c9-c363a1bf41d5/onlineMeetings/getAllRecordings(meetingOrganizerUserId='8b081ef6-4792-4def-b2c9-c363a1bf41d5')/delta?skipToken={skipToken2}
Третий и последний ответ на раунд
Третий ответ возвращает только оставшиеся записи и свойство @odata.deltaLink со значением , deltaToken
которое указывает, что возвращаются все записи. Сохраните и используйте URL-адрес @odata.deltaLink , чтобы запросить новую запись, добавленную с этого момента.
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",
"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/8b081ef6-4792-4def-b2c9-c363a1bf41d5/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",
"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"
}
}
}
]
}