Полное руководство по работе с Яндекс Диск: загрузка, скачивание и API
Яндекс Диск — это облачное хранилище, которое позволяет загружать и скачивать файлы через браузер, мобильные приложения или десктопную программу, а также автоматизировать работу с данными с помощью REST API.
Оглавление
Способы загрузки файлов
Через браузер
- Откройте Яндекс Диск и авторизуйтесь.
- Откройте целевую папку.
- Перетащите файлы или папки на страницу либо используйте кнопку «Загрузить» на панели слева.
- Для продолжения загрузки в фоновом режиме нажмите «Свернуть».
Загрузка папок через браузер поддерживается только в следующих версиях: Яндекс Браузер 1.7+, Chrome 25.0+, Opera 17.0+, Firefox 48.0+.
Через программу Яндекс Диск
Установите десктопное приложение. Все файлы, скопированные в созданную программой папку, автоматически синхронизируются с облаком.
Для файлов размером более 2 ГБ рекомендуется использовать программу Яндекс Диск для обеспечения более высокой скорости загрузки.
С мобильных устройств (iOS/Android)
Мобильные приложения позволяют загружать файлы или делать фотографии с мгновенным сохранением в облако. На Android: выберите файл → «Поделиться» → иконка Яндекс Диска → «Загрузить».
Копирование публичных файлов
Перейдите по полученной ссылке и нажмите «Сохранить на Яндекс Диск». Объект будет помещен в папку «Загрузки» вашего хранилища.
Ограничения по размеру файлов при загрузке
| Тариф | Максимальный размер файла |
|---|---|
| Без тарифа Яндекс 360 | 1 ГБ |
| Тарифы «Для себя» или «Для семьи» | 50 ГБ |
| Тарифы «Для работы» | 100 ГБ |
Как скачать файлы и получить прямую ссылку
Через веб-интерфейс
- Откройте Яндекс Диск и найдите нужный файл или папку.
- Нажмите правой кнопкой мыши на файл и выберите пункт «Скачать».
- Укажите место сохранения на компьютере. Альтернативный способ: откройте превью файла и нажмите кнопку «Скачать» со стрелочкой в правом верхнем углу.
Получение прямой ссылки для скачивания
- Начните скачивание файла и поставьте его на паузу.
- Нажмите правой кнопкой мыши на загружаемый файл в менеджере загрузок браузера.
- Скопируйте ссылку — это и будет прямая ссылка для скачивания.
Использование REST API Яндекс Диска
REST API предназначен для программного доступа к файлам из веб-сервисов, мобильных и десктопных приложений.
Шаг 1: Регистрация приложения и получение OAuth-токена
- Зарегистрируйте приложение на странице разработки Яндекса.
- Укажите название приложения и необходимые права доступа (чтение/запись всего Диска или только папки приложений).
- Получите ID приложения.
- Для получения токена перейдите по специальной ссылке, подставив свой ID приложения.
Шаг 2: Тестирование через Полигон
Используйте Полигон API для тестирования запросов прямо из браузера без написания кода.
Шаг 3: Основные операции через API
Базовый URL API требует заголовка авторизации в каждом запросе:
Authorization: OAuth <ваш_токен>
Получение информации о Диске:
GET /v1/disk
Возвращает общий объем хранилища, используемое пространство, максимальный размер файла и другую метаинформацию.
Получение списка файлов и папок:
GET /v1/disk/resources?path=/путь/к/папке
Загрузка файла (двухэтапный процесс):
- Получить ссылку для загрузки:
GET /v1/disk/resources/upload?path=/путь/к/файлу.txt&overwrite=true
Ответ содержит временную ссылку (href) и HTTP-метод.
2. Загрузить файл по полученной ссылке методом PUT или POST:
PUT <полученная_ссылка>
Content-Type: application/octet-stream
<бинарные_данные_файла>
Скачивание файла (двухэтапный процесс):
- Получить ссылку для скачивания:
GET /v1/disk/resources/download?path=/путь/к/файлу.txt
- Скачать файл по полученной ссылке методом GET.
Создание папки:
PUT /v1/disk/resources?path=/новая/папка
Удаление файла или папки:
DELETE /v1/disk/resources?path=/путь/к/файлу&permanently=false
Параметр permanently=true удаляет файл окончательно, минуя Корзину. Операции удаления и перемещения могут выполняться асинхронно (возвращается код 202 и ссылка для проверки статуса).
Пример использования библиотеки YaDisk для Python
Установка:
pip install yadisk[sync-defaults]
Пример кода:
import yadisk
# Инициализация клиента
client = yadisk.Client(token="<ваш_токен>")
with client:
# Проверка токена
print(client.check_token())
# Загрузка файла
client.upload("file_to_upload.txt", "/destination.txt")
# Скачивание файла
client.download("/some-file.txt", "downloaded.txt")
# Создание папки
client.mkdir("/test-dir")
# Удаление файла
client.remove("/file-to-remove", permanently=True)
# Список файлов в папке
print(list(client.listdir("/some/path")))
Также доступны альтернативные инструменты: CLI-приложение yadisk-uploader на Go, клиент yandexdisk.client для .NET или прямые HTTP-запросы через requests (Python), curl и другие клиенты.
Важные ограничения и безопасность
- Месячный лимит загрузки: При достижении лимита загрузок в текущем 30-дневном периоде загрузка временно блокируется, но просмотр и скачивание остаются доступными.
- Антивирусная проверка: Файлы до 1 ГБ проверяются антивирусом. Если файл помечен как вирусный, загрузка будет заблокирована.
- Закончилось место: При исчерпании свободного места нельзя загружать новые файлы, делиться ими или создавать общие папки.
При отсутствии активности в течение 44 дней Диск может быть заблокирован.
- Безопасность API: API работает только через HTTPS. Базовая аутентификация не поддерживается, используется исключительно OAuth.
Частые ошибки
- Блокировка загрузки при активном аккаунте: вызвана достижением месячного лимита загрузок в текущем 30-дневном периоде. Скачивание при этом продолжает работать.
- Отказ в загрузке конкретного файла: файл размером до 1 ГБ мог быть помечен встроенным антивирусом как вирусный, что автоматически блокирует его размещение.
- Невозможность создать общую папку или поделиться файлом: проверьте наличие свободного места. При его исчерпании функции шеринга блокируются, а длительная бездействие (44 дня) ведет к блокировке всего Диска.
FAQ
Можно ли загрузить папку в любом браузере?
Нет, загрузка папок через веб-интерфейс поддерживается только в Яндекс Браузере 1.7+, Chrome 25.0+, Opera 17.0+ и Firefox 48.0+. В остальных случаях необходимо использовать десктопную программу Яндекс Диск.
Как получить прямую ссылку на файл для скачивания?
Начните скачивание файла в браузере, поставьте его на паузу, нажмите правой кнопкой мыши на файл в менеджере загрузок и скопируйте полученную ссылку.
Поддерживает ли REST API базовую аутентификацию?
Нет, API работает строго через HTTPS и поддерживает только OAuth-аутентификацию. Базовая аутентификация не используется.