Скачивание файла из интернета на Диск
Яндекс Диск может скачать файл на Диск пользователя. Для этого следует передать в запросе URL файла и следить за ходом операции. Если при скачивании возникла ошибка, Диск не будет пытаться скачать файл еще раз.
Если сразу на Диск скачать файл не удается, можно попробовать скачать файл самостоятельно и загрузить его с помощью запроса Загрузка файла на Диск.
Формат запроса
Запрос скачивания следует отправлять с помощью метода POST.
https://cloud-api.yandex.net/v1/disk/resources/upload
? url=<ссылка на скачиваемый файл>
& path=<путь к папке, в которую нужно скачать файл>
& [fields=<свойства, которые нужно включить в ответ>]
& [disable_redirects=<признак запрета редиректов>]
- url*
-
Ссылка на скачиваемый файл. Например,
http%3A%2F%2Fexample.com%2Fphoto.png
. Максимальная длина имени загружаемого файла — 255 символов; максимальная длина пути — 32760 символов.Путь в значении параметра следует кодировать в URL-формате.
- path*
-
Путь на Диске, по которому должен быть доступен скачанный файл. Например,
disk%3A%2Fbar%2Fphoto.png
.Путь в значении параметра следует кодировать в URL-формате.
- fields
-
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.
Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например:name,_embedded.items.path
. - disable_redirects
-
Параметр помогает запретить редиректы по адресу, заданному в параметре
url
.
Допустимые значения:
- «false» — обнаружив редирект, Диск должен скачать файл с нового адреса. Это значение используется по умолчанию.
- «true» — обнаружив редирект, Диск не должен переходить по нему и что-либо скачивать.
* Обязательный параметр.
Формат ответа
Скачивание файла может занять неопределенное время. Если операция скачивания была запущена, API отвечает кодом 202 Accepted
и ссылкой на статус операции (в теле ответа в объекте Link).
Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит описание ошибки.
Ваше приложение должно следить за статусом операции, используя полученную ссылку:
- Статус
success
значит, что файл скачан успешно. - Статус
failed
значит, что файл скачать не удалось. В этом случае ваше приложение может попробовать скачать файл самостоятельно и загрузить его с помощью запроса Загрузка файла на Диск.
Пример ответа:
{
"href": "https://cloud-api.yandex.net/v1/disk/operations?id=33ca7d03ab21ct41b4a40182e78d828a3f8b72cdb5f4c0e94cc4b1449a63a2fe",
"method": "GET",
"templated": false
}
Элемент |
Описание |
|
URL. Может быть шаблонизирован, см. ключ |
|
HTTP-метод для запроса URL из ключа |
|
Признак URL, который был шаблонизирован согласно RFC 6570. Возможные значения:
|
Ссылка на скачиваемый файл. Например, http%3A%2F%2Fexample.com%2Fphoto.png
. Максимальная длина имени загружаемого файла — 255 символов; максимальная длина пути — 32760 символов.
Путь в значении параметра следует кодировать в URL-формате.
Путь на Диске, по которому должен быть доступен скачанный файл. Например, disk%3A%2Fbar%2Fphoto.png
.
Путь в значении параметра следует кодировать в URL-формате.
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.
Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например: name,_embedded.items.path
.
Параметр помогает запретить редиректы по адресу, заданному в параметре url
.
Допустимые значения:
- «false» — обнаружив редирект, Диск должен скачать файл с нового адреса. Это значение используется по умолчанию.
- «true» — обнаружив редирект, Диск не должен переходить по нему и что-либо скачивать.
Обязательный параметр.