Как загрузить файлы на Яндекс Диск, с помощью Python
Приветствую всех, в этом уроке речь пойдет о Яндекс.Диске, а именно о работе с ней через Python. Данный урок будет полезен для новичков, в качестве примера напишем небольшую программу, и научим ее загружать не только файлы, но и папки с содержимым.
Яндекс.Диск REST API
Для начала получим токен, который необходим для работы с API Диском. Для этого перейдем по ссылке (новая, актуальная на 2023г. ссылка, спасибо пользователю govermsk) и зарегистрируем наше приложение, назовём его к примеру, backup, и дадим ему полное разрешение для работы с Я.Диском.
![]()
![]()
Теперь нужно просто перейти по этой ниже ссылке, заменив ID приложения на свой (ID вы получили после регистрации приложения), и токен готов.
https://oauth.yandex.ru/authorize?response_type=token&client_id=
Python
Для работы с Я.Диск REST API будем использовать уже готовую библиотеку, установим ее командой.
pip install yadisk
Попробуем подключиться к нашему Я.Диску используя ранее полученный токен.
import yadisk y = yadisk.YaDisk(token="токен") print(y.check_token()) # Проверим токен
True
Если результат True, значит вы все сделали правильно 🙂
Добавим еще небольшой код, который отправит несколько файлом, и создаст папку на Я.Диске.
y.mkdir("/test/Hello Word") # Создать папку y.upload("file1.txt", "/test/file1.txt") # Загружает первый файл y.upload("file2.txt", "/test/file2.txt") # Загружает второй файл
![]()
Всё работает отлично, мы смогли загрузить наши файлы и создать папку.
Усложним задачу, и попробует не создать, а отправить всю папку с содержимым, так скажем, сделать backup данных.
import yadisk import os from datetime import datetime y = yadisk.YaDisk(token="токен") def run(path): date = datetime.strftime(datetime.now(), "%d.%m.%Y-%H.%M.%S") y.mkdir(f'/test/') for address, dirs, files in os.walk(path): for dir in dirs: y.mkdir(f'/test//') print(f'Папка создана') for file in files: print(f'Файл загружен') y.upload(f'/', f'/test//') if __name__ == '__main__': run(r'C:\folder\путь к папке для загрузки')
![]()
Теперь при каждом запуске скрипта, наши данные будут загружаться в папку с уникальным именем «дата и время загрузки».
По всем вопросом можете обратиться ко мне через обратную связь, буду рад помочь.
Яндекс Диск. API — загрузка файлов
Пытаюсь отправить файл с формы на облако Яндекс диска. Я понимаю, о чём ошибка, но не понимаю, как исправить. Мне не нужно загружать файл сначала на свой сервер, а с него на Яндекс, нужно сразу с устройства юзера на Яндекс, как это и задумано изначально. Форма:
$token = 'TOKEN'; // Путь и имя файла на нашем сервере. $fileName = $_FILES['ff']['name']; $fileNameCmps = explode(".", $fileName); $fileExtension = strtolower(end($fileNameCmps)); $file = md5(time() . $fileName) . '.' . $fileExtension; echo $file; // Папка на Яндекс Диске (уже должна быть создана). $path = '/test/'; // Запрашиваем URL для загрузки. $ch = curl_init('https://cloud-api.yandex.net/v1/disk/resources/upload?path=' . urlencode($path . basename($file))); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $token)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res, true); if (empty($res['error'])) < // Если ошибки нет, то отправляем файл на полученный URL. $fp = fopen($file, 'r'); $ch = curl_init($res['href']); curl_setopt($ch, CURLOPT_PUT, true); curl_setopt($ch, CURLOPT_UPLOAD, true); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file)); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code == 201) < echo 'Файл успешно загружен.'; >else < echo 'error2'; >> else

В итоге я получаю такой ответ Файл появляется на диске, но он некорректный, его нельзя открыть и посмотреть, но название, расширение передаются. Размер 0
Как пользоваться облаком Яндекс.Диск
В своей работе мы пользуемся современным облачным хранилищем Яндекс.Диск.
Благодаря ему Вам не нужно собирать файлы и отправлять по почте или мессенджеру, достаточно просто добавить их в папку, к которой имеют доступ наши специалисты.
В Яндекс.Диск можно зайти с телефона или с компьютера. Этот гайд покажет,как пользоваться сервисом и поможет разобраться с установкой.
Чтобы пользоваться программой с телефона нужно ее установить через App store или Play Маркет. Для этого нажимаем на иконку магазина. В поиске вводим Яндекс.Диск. Нажимаем на кнопку установить и подтверждаем


Для компьютера проще — скачиваем инсталлятор с официального сайта и устанавливаем программу.

После установки открываем приложение и вводим данные — почту и пароль почтового ящика Яндекса.

Если у Вас уже есть аккаунт, то для синхронизации данных необходимо подключить общую папку. Для этого нажмите на “Настройки” — “общие папки” и примите приглашение.


Если Ваш аккаунт уже был добавлен, то при установке Вам будет сразу предложено синхронизироваться с общей папкой.
В том случае, если Вы сделали все верно, в разделе «Общий доступ» у вас появится папка с такой отличительной иконкой. Именно в нее необходимо добавлять файлы, которыми Вы хотите поделиться с нашими специалистами.

Теперь вы можете загружать фотографии и видео в общую папку, которая синхронизируется с аккаунтом нашей компании. Для этого достаточно нажать на плюс и выбрать необходимые материалы для загрузки.

Теперь наш Яндекс.Диск полностью готов к работе. Приятного пользования!
Пошаговая инструкция для клиента: как загружать файлы на Яндекс.Диск
1. С помощью логина и пароля заходим в почту, выбираем Диск.

2. В левом меню выбираем раздел «Общий доступ»

3. Если к какой-либо папке вам уже предоставлен доступ другим пользователем, то в разделе «Общий доступ» будет находиться данная папка с отличительной иконкой.

4. Чтобы загрузить файлы, необходимо войти в эту папку.

5. Находясь этой папке можно начинать загрузку файлов на Яндекс.Диск. Для этого достаточно нажать кнопку «Загрузить» и выбрать на компьютере нужные файлы.

Загруженные файлы окажутся в папке общего доступа.
Понравилась статья? Поделитесь:
- Кейсы
- SEO/SEM
- Разработка
- Интернет-маркетинг
- Управление проектами
- Наши новости
- Новости IT
- Инструкции
- 11/3/2023 5 каналов торговли: где лучше продавать вещи и товары в интернете
- 10/31/2023 Как открыть бизнес по франшизе и не разориться
- 9/26/2023 Web Строитель получил благодарность Минцифры за вклад в развитие ИТ-отрасли
Как загрузить файл на Яндекс — пошаговая инструкция
Загружаем файлы на Яндекс.Диск различными способами:
- Используя веб-браузер.
- При помощи приложения для компьютера.
- Используя смартфон на ОС Android.
- Используя смартфор на iOS.
Представляем вам инструкцию по загрузке файлов и папок на самый популярный облачный сервис хранения файлов Яндекс.Диск.
1. Загружаем файлы через веб-браузер без дополнительных приложений:
- Откройте любой веб-браузер и авторизуйтесь на странице disk.yandex.ru, введя свой логин и пароль в правом верхнем углу страницы. Если вы ещё не зарегистрированы — необходимо кликнуть по кнопке «Завести свой диск» на этой же странице.
- Перетащите в открытую страницу Яндекс.Диска файлы, либо сразу всю папку, которую вы хотите загрузить.
Обратите внимание! Можно использовать кнопку Загрузить файл, для выбора отдельных файлов на компьютере.
В открывшемся окне можно нажать кнопку «Загрузить ещё», если нужно выбрать на компьютере несколько файлов, либо «Скрыть», если в этом нет необходимости.
Сразу после загрузки можно поделиться ссылкой на файл с вашими друзьями. Для этого кликните по кнопке Вкл справа от имени загружаемого файла. Останется скопировать ссылку на файл в буфер обмена, кликнув по полю с адресом файла, после чего её можно отправить друзьям через мессенджер, либо социальную сеть, нажав комбинацию клавиш Ctrl+V в окне отправки сообщения для получения доступа к файлу любым пользователем.
2. Заливаем файлы на Яндекс.Диск через приложение для компьютера
- установите программу Яндекс.Диск на компьютер, после чего введите логин и пароль от вашей учетной записи в окно программы.
- Для загрузки файлов на Диск, вам нужно всего лишь скопировать их в папку Яндекс.Диска, после чего они автоматически окажутся на серверах Яндекса и к ним можно будет как получить доступ как через браузер, так и делиться ссылкой на файл с друзьями. Файлы станут доступны с любого устройства, на котором уcтановлено приложение Яндекс.Диск, независимо от операционной системы. Срок хранения файлов — неограничен.
3. Загружаем файлы со смартфона на Android
- Установите приложение Яндекс.Диск из магазина Google.Play.
- Запустите приложение и перейдите в папку, в которую нужно закачать файлы.
- Кнопкой + выберите действие из списка (сделать фото, добавить картинку из галереи, создать папку либо выбрать файлы с устройства).
4. Загружаем файлы на Диск со смартфона на iOS
- Установите приложение Яндекс.Диск из AppStore.
- Запустите приложение и выберите папку в которую будем загружать файлы, после чего нажмите кнопку + в правом верхнем углу экрана смартфона.
- Выберите действие из доступных — выбираем фото из галереи, делаем фото сейчас, либо создаем новую папку
- Далее, например, при загрузке файлов из галереи, выберите нужные файлы либо весь альбом, если это необходимо.
- В результате нажатия кнопки «Готово», файлы будут загружены в Яндекс.Диск.
