Перемещение файла или папки
Перемещать файлы и папки на Диске можно, указывая текущий путь к ресурсу и его новое положение.
Формат запроса
Запрос перемещения следует отправлять с помощью метода 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
}
Элемент |
Описание |
|
URL. Может быть шаблонизирован, см. ключ |
|
HTTP-метод для запроса URL из ключа |
|
Признак URL, который был шаблонизирован согласно RFC 6570. Возможные значения:
|
Путь к перемещаемому ресурсу. Например, %2Ffoo%2Fphoto.png
.
Путь в значении параметра следует кодировать в URL-формате.
Путь к новому положению ресурса. Например, %2Fbar%2Fphoto.png
(максимальная длина нового пути к ресурсу — 32760 символов).
Путь в значении параметра следует кодировать в URL-формате.
Признак перезаписи файлов. Учитывается, если ресурс перемещается в папку, в которой уже есть ресурс с таким именем.
Допустимые значения:
false
— отменить перемещение, не перезаписывать файлы. Используется по умолчанию.true
— переместить ресурс, удаляя имеющиеся файлы с совпадающими именами.
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.
Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например: name,_embedded.items.path
.
Обязательный параметр.