Перемещение файла или папки

Перемещать файлы и папки на Диске можно, указывая текущий путь к ресурсу и его новое положение.

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

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

https://cloud-api.yandex.net/v1/disk/resources/move
 ? from=<путь к перемещаемому ресурсу>
 & path=<путь к перемещенному ресурсу>
 & [overwrite=<признак перезаписи>]
 & [fields=<свойства, которые нужно включить в ответ>]
from*

Путь к перемещаемому ресурсу. Например, %2Ffoo%2Fphoto.png.

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

path*

Путь к новому положению ресурса. Например, %2Fbar%2Fphoto.png (максимальная длина нового пути к ресурсу — 32760 символов).

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

overwrite

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

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

  • false — отменить перемещение, не перезаписывать файлы. Используется по умолчанию.
  • true — переместить ресурс, удаляя имеющиеся файлы с совпадающими именами.
fields
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.

Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например: name,_embedded.items.path.

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

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

Если запрос был обработан без ошибок, API составляет тело ответа в зависимости от вида указанного ресурса — ответ для пустой папки или файла отличается от ответа для непустой папки.

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

Файл или пустая папка

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

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

{
  "href": "https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2Fbar%2Fphoto.png",
  "method": "GET",
  "templated": false
}

Непустая папка

Непустая папка может перемещаться в течение произвольного времени, поэтому API отвечает кодом 202 Accepted (перемещение папки начато).

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

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

{
  "href": "https://cloud-api.yandex.net/v1/disk/operations?id=33ca7d03ab21ct41b4a40182e78d828a3f8b72cdb5f4c0e94cc4b1449a63a2fe",
  "method": "GET",
  "templated": false
}

Элемент

Описание

href

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

method

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

templated

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

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