Skip to main content

Запрос UnlockAndRelock

При необходимости можно освободить текущую блокировку и снова заблокировать файл запросом UnlockAndRelock на сервер WOPI (cм. Рисунок). Данная операция выполняется СО-сервером автоматически при открытии файла на редактирование.

Ссылка на документацию:

https://docs.microsoft.com/en-us/openspecs/office_protocols/ms-wopi/e126035e-ce73-440a-9149-4ab0a80c2521

Вид запроса UnlockAndRelock:

POST http://wopi-server/<...>/wopi/files/<fileid>?access_token=<token>

Заголовки запроса UnlockAndRelock приведены в таблице.

Заголовок запросаНазначениеЗначение
X-WOPI-OverrideСтрока, определяющая запрошенную операцию с сервера WOPI. Обязательный параметр.Строка "LOCK"
X-WOPI-LockСтрока, предоставляемая клиентом WOPI, которую сервер WOPI ДОЛЖЕН использовать для идентификации блокировки файла. Обязательный параметр.Строка
X-WOPI-OldLockСтрока, ранее предоставленная клиентом WOPI, которую сервер WOPI ДОЛЖЕН использовать для идентификации блокировки файла. Обязательный параметр.Строка, предоставленная клиентом WOPI во время вызова LOCK

Ответное сообщение для этой операции может содержать заголовки HTTP, приведенные в таблице.

Заголовок ответаНазначениеЗначение
X-WOPI-LockСтрока, предоставляемая клиентом WOPI, которую сервер WOPI использует для идентификации блокировки файла. Этот заголовок ДОЛЖЕН быть включен в ответ с кодом состояния 409, если в файле нет блокировки или существует другая общая блокировка. Этот заголовок НЕ ДОЛЖЕН включаться при ответе с кодом состояния 200.Строка
X-WOPI-LockFailureReasonСтрока, указывающая, почему операция не удалась. Стандарта форматирования этой строки не существует. Эта строка НЕ ДОЛЖНА использоваться ни для чего, кроме вывода логов. Этот заголовок ДОЛЖЕН быть добавлен только при ответе с кодом состояния 409.Строка
X-WOPI-LockedByOtherInterfaceСтрока, указывающая, что файл в настоящее время заблокирован другим клиентом. Этот заголовок ДОЛЖЕН быть добавлен только при ответе с кодом состояния 409.Строка "true"

Пример запроса UnlockAndRelock:​

curl -L -X POST 'https://nextcloud.devoffice.ru/index.php/apps/wopi/wopi/files/1821_ochbwwy5l2a7?access_token=yClxDGNA3n6eyT6V7Em3gBYC7nJnAvpt' -H 'X-co-request-id: 83910f55c4e9e10d3451b18368cdf26d' -H 'X-WOPI-Lock: MyOfficeLock1821_ochbwwy5l2a7' -H 'X-WOPI-OldLock: OLD_LOCK' -H 'X-WOPI-Override: LOCK' -H 'X-WOPI-Correlationid: 83910f55c4e9e10d3451b18368cdf26d'