Восстановление файла или папки из Корзины

Перемещенный в Корзину ресурс можно восстановить на прежнем месте, указав путь к нему в корзине. Восстанавливаемый ресурс при этом можно переименовать.

Если восстанавливаемый файл находился внутри папки, которая отсутствует на момент запроса, эта папка будет создана на прежнем месте. Например, если на Диске ничего нет, и вы восстанавливаете файл, который находился в папке /foo/bar/, будут созданы папки foo и bar.

Формат запроса

Запрос восстановления следует отправлять с помощью метода PUT.

https://cloud-api.yandex.net/v1/disk/trash/resources/restore
 ? path=<путь к восстанавливаемому ресурсу>
 & [name=<новое имя для восстанавливаемого ресурса>]
 & [overwrite=<признак перезаписи>]
path*

Путь к восстанавливаемому ресурсу относительно корневого каталога Корзины. Например, %2Fbar%2Fphoto.png.

Путь в значении параметра следует кодировать в URL-формате.

name

Новое имя восстанавливаемого ресурса. Например, selfie.png.

overwrite

Признак перезаписи. Учитывается, если ресурс восстанавливается в папку, в которой уже есть ресурс с таким именем.

Допустимые значения:

  • false — не перезаписывать файлы и отменить восстановление. Используется по умолчанию.
  • true — восстановить ресурс, удаляя имеющиеся файлы с совпадающими именами.

* Обязательный параметр.

Формат ответа

Восстановление ресурса из Корзины может занять неопределенное время. В зависимости от статуса операции, сервер Яндекс Диска возвращает один из двух вариантов ответа:

  • Если к моменту ответа запрос удалось обработать без ошибок, API отвечает кодом 201 Created (ресурс успешно перемещен), и возвращает ссылку на мета-информацию о созданном ресурсе в теле ответа, в объекте Link.

    Пример ответа:

    {
    "href": "https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2Fbar%2Fselfie.png",
    "method": "GET",
    "templated": false
    }
    
  • Если операция сохранения была запущена, но еще не завершилась, Яндекс Диск отвечает кодом 202 Accepted.

    Приложения должны самостоятельно следить за статусами запрошенных операций. Яндекс Диск возвращает ссылку на статус запущенной по запросу операции в теле ответа, в объекте Link.

    Пример ответа:

    {
    "href": "https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2F%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%photo.png",
    "method": "GET",
    "templated": false
    }
    

    Элемент

    Описание

    href

    URL. Может быть шаблонизирован, см. ключ templated.

    method

    HTTP-метод для запроса URL из ключа href.

    templated

    Признак URL, который был шаблонизирован согласно RFC 6570. Возможные значения:

    • «true» — URL шаблонизирован: прежде чем отправлять запрос на этот адрес, следует указать нужные значения параметров вместо значений в фигурных скобках.
    • «false» — URL может быть запрошен без изменений.

Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит описание ошибки.