Могу ли я использовать Dropbox API для загрузки файлов по обычной ссылке? - PullRequest
0 голосов
/ 25 мая 2019

Я хочу скачать файлы по ссылке, полученной в Dropbox. Я создал токен API, но не уверен, что полученный тип ссылки достаточен.

Используя эти документы , я попытался получить файл, но получаю следующую ошибку:

ApiError: ApiError('', GetSharedLinkFileError('shared_link_access_denied', None))

Вот мой код:

import dropbox
dbx = dropbox.Dropbox("{ACCESS TOKEN}")
dbx.users_get_current_account()

download_path = '{LOCAL PATH}'
url = 'https://www.dropbox.com/sh/{DROPBOX FOLDER}?dl=0'
dbx.sharing_get_shared_link_file_to_file(download_path, url, path=None, link_password=None)

Я попытался заменить sh на s на основе это , но безуспешно.

У меня есть ссылка, которая мне нужна? Это что-то в коде? Заранее спасибо!

1 Ответ

0 голосов
/ 28 мая 2019

Общие ссылки Dropbox с "/sh" относятся к папкам. Эти ссылки действительны для использования с sharing_get_shared_link_file_to_file, но поскольку они относятся к папкам, а не к отдельным файлам, вам нужно указать параметр path, чтобы указать, какой файл в связанной папке вы хотите.

Вот рабочий пример:

import dropbox

dbx = dropbox.Dropbox("{ACCESS TOKEN}")

file_path = '/dahlia_l.jpg'
download_path = 'download.jpg'
url = 'https://www.dropbox.com/sh/ljrkl8kbddx8n1c/AAACNrUwqPSVv27oh97QhN0Za?dl=0'
res = dbx.sharing_get_shared_link_file_to_file(download_path, url, path=file_path)

print(res)
...