Перемещение файла или папки на общем диске

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

Метод могут использовать как администраторы, так и другие сотрудники организации, у которых есть права на чтение данных с общего диска и запись на него.

Для OAuth-приложения необходимо наличие прав:

  • cloud_api:disk.read
  • cloud_api:disk.write

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

Метод: POST.

https://cloud-api.yandex.net/v1/disk/virtual-disks/resources/move
 ? from=<путь к перемещаемому ресурсу>
 & path=<новый путь к перемещенному ресурсу>
 & [overwrite=<признак перезаписи>]
 & [force_async=<признак асинхронного выполнения операции>]

Описание query-параметров

from*

Путь к перемещаемому ресурсу на общем диске.

Указывается в следующем формате:

vd:<vd_hash>:disk:/<путь внутри общего диска>

Где

  • <vd_hash> — метка общего диска. Пример vd_hash: 9Uyws5pZmXgDNA. Метку общего диска можно получить:

    • по API — с помощью метода, который возвращает информацию о статусе создания общего диска (посмотреть описание метода);
    • в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после vd/.
  • <путь внутри общего диска> — путь до файла или папки внутри общего диска.

Например, путь до файла test_file.txt, который лежит в папке test_folder общего диска указывается так:

vd:9Uyws5pZmXgDNA:disk:/test_folder/test_file.txt
path*

Путь к новому положению ресурса на общем диске. Максимальная длина нового пути к ресурсу — 32760 символов.

Указывается в следующем формате:

vd:<vd_hash>:disk:/<путь внутри общего диска>

Где

  • <vd_hash> — метка общего диска. Пример vd_hash: 9Uyws5pZmXgDNA. Метку общего диска можно получить:

    • по API — с помощью метода, который возвращает информацию о статусе создания общего диска (посмотреть описание метода);
    • в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после vd/.
  • <путь внутри общего диска> — путь до файла или папки внутри общего диска.

Например, путь до файла test_file.txt, который лежит в папке test_folder общего диска указывается так:

vd:9Uyws5pZmXgDNA:disk:/test_folder/test_file.txt
overwrite

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

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

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

Допустимые значения:
  • false — операция не является асинхронной: следующий запрос можно отправлять только тогда, когда выполнен предыдущий.
  • true — асинхронная операция: следующий запрос можно отправлять, не дожидаясь выполнения предыдущего.

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

Authorization: OAuth <token>

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

Успешный ответ

Если запрос был обработан без ошибок, 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 может быть запрошен без изменений.

Ответ с ошибкой

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

Некоторые возможные ошибки:

  • 400 — Некорректные данные.
  • 401 — Не авторизован.
  • 403 — Неправильное новое положение для ресурса.
  • 404 — Не удалось найти запрошенный ресурс.
  • 406 — Ресурс не может быть представлен в запрошенном формате.
  • 409 — Ресурс уже существует.
  • 412 — Перемещение файлов и папок между общими и персональными дисками не поддерживается.
  • 413 — Загрузка файла недоступна. Файл слишком большой.
  • 423 — Технические работы. Сейчас можно только просматривать и скачивать файлы.
  • 429 — Слишком много запросов.
  • 503 — Сервис временно недоступен.
  • 507 — Недостаточно свободного места.

Путь к перемещаемому ресурсу на общем диске.

Указывается в следующем формате:

vd:<vd_hash>:disk:/<путь внутри общего диска>

Где

  • <vd_hash> — метка общего диска. Пример vd_hash: 9Uyws5pZmXgDNA. Метку общего диска можно получить:

    • по API — с помощью метода, который возвращает информацию о статусе создания общего диска (посмотреть описание метода);
    • в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после vd/.
  • <путь внутри общего диска> — путь до файла или папки внутри общего диска.

Например, путь до файла test_file.txt, который лежит в папке test_folder общего диска указывается так:

vd:9Uyws5pZmXgDNA:disk:/test_folder/test_file.txt

Путь к новому положению ресурса на общем диске. Максимальная длина нового пути к ресурсу — 32760 символов.

Указывается в следующем формате:

vd:<vd_hash>:disk:/<путь внутри общего диска>

Где

  • <vd_hash> — метка общего диска. Пример vd_hash: 9Uyws5pZmXgDNA. Метку общего диска можно получить:

    • по API — с помощью метода, который возвращает информацию о статусе создания общего диска (посмотреть описание метода);
    • в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после vd/.
  • <путь внутри общего диска> — путь до файла или папки внутри общего диска.

Например, путь до файла test_file.txt, который лежит в папке test_folder общего диска указывается так:

vd:9Uyws5pZmXgDNA:disk:/test_folder/test_file.txt

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

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

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

Параметр указывает на возможность асинхронного выполнения операции.

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

  • false — операция не является асинхронной: следующий запрос можно отправлять только тогда, когда выполнен предыдущий.
  • true — асинхронная операция: следующий запрос можно отправлять, не дожидаясь выполнения предыдущего.

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