Копирование файла или папки на общем диске
Метод позволяет копировать файлы и папки на общем диске. Для этого нужно указать путь к ресурсу и требуемый путь к его копии.
Метод могут использовать как администраторы, так и другие сотрудники организации, у которых есть права на чтение данных с общего диска и запись на него.
Для OAuth-приложения необходимо наличие прав:
cloud_api:disk.read
cloud_api:disk.write
Формат запроса
Метод: POST.
https://cloud-api.yandex.net/v1/disk/virtual-disks/resources/copy
? 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%2Ffoo%2Fbar",
"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. Возможные значения:
|
Ответ с ошибкой
Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит описание ошибки.
Некоторые возможные ошибки:
400
— Некорректные данные.401
— Не авторизован.403
— Доступ к ресурсу запрещен. / Пользователь не имеет прав доступа к общему диску.404
— Не удалось найти запрошенный ресурс.406
— Ресурс не может быть представлен в запрошенном формате.409
— Ресурс уже существует.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
— асинхронная операция: следующий запрос можно отправлять, не дожидаясь выполнения предыдущего.
Обязательный параметр.