Categories: Python

Заливка файлов на dropbox через python

Для одной задачи нужно было загружать файлы на дропбокс, и потом получать оттуда временную ссылку. Dropbox сам предоставляет удобный модуль для работы с python. В статье напишу пару примеров — как загрузить файл на дропбокс через питон.

Установка пакета dropbox python 3

Установить библиотеку можно обычным способом через pip. Пишем

pip install dropbox

Ставится последняя версия.

Как загрузить файл на dropbox в python 3

Чтобы загрузить файл, нам нужно его «прочитать побайтово» и передать на сервер. Но перед этим надо получить Access token. Об этом чуть позже. Для загрузки достаточно следующего кода:

import dropbox

dbx = dropbox.Dropbox('0L9___6b') # наш access token

with open('d:/myfile.png','rb') as file: # открываем файл в режиме чтение побайтово
    response = dbx.files_upload(file.read(),'/myfile.png') # загружаем файл: первый аргумент (file.read()) - какой файл; второй - название, которое будет присвоено файлу уже на дропбоксе.
    print(response) # выводим результат загрузки

Ответ, если все нормально, будет примерно таким:

FileMetadata(name='myfile.png', id='id:N1vtTR2yQKAAAAAAAAAANw', client_modified=datetime.datetime(2019, 4, 20, 19, 32, 42), server_modified=datetime.datetime(2019, 4, 20, 19, 32, 43), rev='013000000014003fd40', size=215910, path_lower='/myfile.png', path_display='/myfile.png', parent_shared_folder_id=None, media_info=None, symlink_info=None, sharing_info=None, property_groups=None, has_explicit_shared_members=None, content_hash='a6dc4aab14039d2a733846bb8bbd87907534829fcfdbbbe3188d8')

Как получить Access token для работы с api dropbox

Чтобы получить Access token заходим на эту страницу — App Console Dropbox. Логинимся или регистрируемся если нужно. Нажимаем на Create app.

Как создать приложение в dropbox

Выбираем первый вариант — Dropbox API. Дальше выбираем какой доступ нам надо — только к одной папке (этого приложения) или полный доступ. Я выбрал App folder, достаточно. И имя нашему приложению.

Создание приложения dropbox. Заливка своих файлов через питон

Нажимаем Create App внизу, и нам выдаст страницу с настройками приложения.

Dropbox — приложение создано. Берем Access token для заливки файлов в python

Чуть ниже нажимаем Generate под Generated access token. Ждем, и сохраняем этот ключ. Он понадобится для всех запросов.

Получить token в dropbox

На этой же странице можно задать описание, картинку для приложения и смотреть статистику использования (все это выходит за рамки статьи).

Куда загружается файл со скрипта

Файл загружается в папку приложения, для которого получали token. У меня это:

https://www.dropbox.com/home/Приложения/Bdseo%20blog

Дальше уже можно загружать в подпапки, указывая путь в аргументе функции (например, «/for_article/myfile.png»).

Dropbox через питон — куда сохраняются файлы

Как получить ссылку для скачивания файла с dropbox в python3

Сразу хочу отметить, что ссылка временная. Выглядит она примерно вот так:

https://dl.dropboxusercontent.com/apitl/1/ABjzAWNnep9dSDmNoNdiZUzQ167KU8LIPHtkxu3REUWd4FpbVLbU5BnQVDx9yMYm7vrFWmvjvJrUQCzLLQdIGzw8Yl0uxY1bizDfggOnT1uVIj6wnbC5Pr2k-RYHk69Ixj_8aMdukeBK7csCz2YMLA2uuiqWBfGCeRphi-l4bEhF5sWFnb9mngCe9TswPENxiPRsgpw7HS_G9znepULE8N8wr1F8m4pmplUWE0huXW2TzUhZ3slYlvkLYdNiEVzOMwC933VTnGlxozQ7F3bMfncr_Qg

Сколько она живет я не замерял, пару часов, может сутки. Поэтому, перед каждым скачиванием нужно получать новую ссылку. Это делается просто, вызвав следующую функцию:

# Выведет на экран url файла myfile.png для скачивания
dbx.files_get_temporary_link('/myfile.png').link

Больше информации и примеров в официальной документации на сайте dropbox по этой ссылке (для python).

Если есть вопросы — пишите в комментарии.

veniamin

View Comments

Recent Posts

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

2 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

2 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

2 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago

Kwork.ru: опыт поиска исполнителя и поздравление

Пришла в голову одна интересная идея. Связанно с тиктоком. Решил поискать исполнителя, который будет монтировать…

3 года ago

Отзыв о Накрутке подписчиков instagram через Socpublic в автоматическом режиме

Решил проверить "автоматическую" накрутку подписчиков в инстаграмме через сервис активной рекламы Socpublic.com. Сразу скажу -…

3 года ago