使用 Dropbox ApiError 从共享 Dropbox 下载文件

Download File From Shared Dropbox Using Dropbox ApiError

我想下载共享保管箱文件夹中的 CSV 文件。我目前给我的代码是ApiError。完整代码和错误如下:

我的代码:

import dropbox

ACCESS_TOKEN = '***MY ACCESS_TOKEN***'

dbx = dropbox.Dropbox(ACCESS_TOKEN)

url = "https://www.dropbox.com/sh/s8vwbg46zjsg3rw/AAC0T1BhIgfp5BfH_sJ_Vnb1a?dl=0"
file = "https://www.dropbox.com/sh/s8vwbg46zjsg3rw/AAC0T1BhIgfp5BfH_sJ_Vnb1a?dl=0&preview=Stock+List+2021-03-08.csv"

md, res = dbx.sharing_get_shared_link_file(url=file)

print(md)
print(res)

错误:

Traceback (most recent call last):
  File "D:\***\PyCharm\Furniture\Test 1\dropbox_test.py", line 10, in <module>
    md, res = dbx.sharing_get_shared_link_file(url=file)
  File "C:\Python39\lib\site-packages\dropbox\base.py", line 4181, in sharing_get_shared_link_file
    r = self.request(
  File "C:\Python39\lib\site-packages\dropbox\dropbox_client.py", line 346, in request
    raise ApiError(res.request_id,
dropbox.exceptions.ApiError: ApiError('90075839f9f94c53a112a48692314d4f', GetSharedLinkFileError('shared_link_is_directory', None))

任何帮助都会很棒。我也试过 files_download,但我也遇到了错误。

“https://www.dropbox.com/sh/s8vwbg46zjsg3rw/AAC0T1BhIgfp5BfH_sJ_Vnb1a?dl=0...”link 本身指向一个文件夹,而不是一个特定的文件(无论您是否上面有 preview 参数。

您可以通过以下两种方式完成这项工作:

  1. sharing_get_shared_link_file 上提供 path 参数以指定所需文件夹中的文件:
md, res = dbx.sharing_get_shared_link_file(url=url, path="/Stock List 2021-03-08.csv")
  1. 将实际的 link 特别用于文件(我通过共享 link 页面手动检索):
file = "https://www.dropbox.com/sh/s8vwbg46zjsg3rw/AABhEIN92e98iufhllgVuIvga/Stock%20List%202021-03-08.csv?dl=0"
md, res = dbx.sharing_get_shared_link_file(url=file)

此外,如果该文件位于您正在使用的访问令牌的连接帐户中,您当然应该能够使用 files_download 下载它。如果您愿意,请随时打开另一个问题并提供该问题的详细信息。