---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.ru/dev/disk-api/doc/ru/reference/content_shd.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/disk-api/doc/ru/llms.txt

# Скачивание файла с Диска

Чтобы скачать файл с общего диска, необходимо:

1. [Запросить URL для скачивания.](#url-request)
1. [Скачать файл](#response-upload) по полученному адресу, указав тот же [OAuth-токен](https://yandex.ru/dev/disk-api/doc/ru/concepts/quickstart.md#oauth), что и в исходном запросе.

Для OAuth-приложения необходимо наличие права:
* `cloud_api:disk.read`

## Запрос URL для скачивания {#url-request}

Чтобы получить URL для скачивания файла, необходимо передать API путь на общем диске, по которому находится скачиваемый файл.

### Формат запроса {#request}

Метод: ##GET##.

```
https://cloud-api.yandex.net/v1/disk/virtual-disks/resources/download
 ? [path](*popup-vd_resource_path-content)=<путь к скачиваемому файлу>
```

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

path[*](*popup-a)
: Путь к скачиваемому файлу.

<!-- source: ru/_includes/reference/shd/resources/path-disk-area.md -->
Указывается в следующем формате:

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

Где 

- `<vd_hash>` — метка общего диска. Пример `vd_hash`: ##9Uyws5pZmXgDNA##. Метку общего диска можно получить:
    - по API — с помощью метода, который возвращает информацию о статусе создания общего диска ([посмотреть описание метода](https://yandex.ru/dev/disk-api/doc/ru/reference/shared-disks/shd-create-state.md));
    - в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после `vd/`.

- `<путь внутри общего диска>` — путь до файла или папки внутри общего диска.

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

```
vd:9Uyws5pZmXgDNA:disk:/test_folder/test_file.txt
```
<!-- endsource: ru/_includes/reference/shd/resources/path-disk-area.md -->


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


#### Заголовок {#header}

```
Authorization: OAuth <token>
```

### Формат ответа {#response}

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

Если запрос был обработан без ошибок, API отвечает кодом `200 OK`. В теле ответа в объекте [Link](https://yandex.ru/dev/disk-api/doc/ru/reference/response-objects.md#link) возвращается сгенерированный URL для скачивания файла. Время жизни ссылки на скачивание ограничено.

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

```json
{
  "href": "https://downloader.dst.yandex.ru/disk/...",
  "method": "GET",
  "templated": false
}
```

#### Описание элементов ответа

<!-- source: ru/_includes/reference/response-objects/id-link/link-table.md -->


#|
|| **Элемент** | **Описание**||
|| `href` | URL. Может быть шаблонизирован, см. ключ `templated`. ||
|| `method` | HTTP-метод для запроса URL из ключа `href`. ||
|| `templated` | Признак URL, который был шаблонизирован согласно [RFC 6570](http://tools.ietf.org/html/rfc6570). Возможные значения:

- «true» — URL шаблонизирован: прежде чем отправлять запрос на этот адрес, следует указать нужные значения параметров вместо значений в фигурных скобках.
- «false» — URL может быть запрошен без изменений.||
|#
<!-- endsource: ru/_includes/reference/response-objects/id-link/link-table.md -->

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

<!-- source: ru/_includes/reference/response-error.md -->
Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит [описание ошибки](https://yandex.ru/dev/disk-api/doc/ru/reference/response-objects.md#error).
<!-- endsource: ru/_includes/reference/response-error.md -->

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

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


## Скачивание файла с общего диска по полученному URL {#response-upload}

Скачивать файл следует с помощью метода GET.

Пример URL для скачивания:

```no-highlight
https://downloader.dst.yandex.ru/disk/53139aa0et584d3bac7eeab405d3574b/535320b4/YyjTJtEHob8R5WbpojJbiiUuU2HC_2JSTU0gW9qE0NHGW2uncmBjM_-IXun3Msyij96FTHQGSX-fDL-XwokDvA%3D%3D?uid=202727674&filename=photo.png&disposition=attachment&hash=&limit=0&content_type=application%2Fx-www-form-urlencoded&fsize=34524&hid=93528043563b8r55723a253f4730290a&media_type=document
```

Если запрос был обработан без ошибок, API отвечает одним из способов:
- Кодом `200 OK` с телом ответа, в котором содержится скачиваемый файл.
- Кодом `302 Found` с заголовком `Location`. Заголовок содержит адрес вида `*.storage.yandex.net`, с которого происходит скачивание файла.

[*popup-vd_resource_path-content]: Путь к скачиваемому файлу.


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

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

Где 

- `<vd_hash>` — метка общего диска. Пример `vd_hash`: ##9Uyws5pZmXgDNA##. Метку общего диска можно получить:
    - по API — с помощью метода, который возвращает информацию о статусе создания общего диска ([посмотреть описание метода](https://yandex.ru/dev/disk-api/doc/ru/reference/shared-disks/shd-create-state.md));
    - в интерфейсе Яндекс Диска — перейдите в общий диск, метка будет указана в персональной строке после `vd/`.

- `<путь внутри общего диска>` — путь до файла или папки внутри общего диска.

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

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

[*popup-a]: Обязательный параметр.