Python 将下载 link 添加到 Dropbox API 中的文件列表

Python to append download link to list of files in Dropbox API

我正在尝试从 Dropbox API 中提取一些图像的字典列表,并表示如下;

[{name: 'XYZ', url: 'THIS IS A URL'}]

我使用以下生成文件名和路径列表的方法很好。

path = ''
files_list = []

def dropbox_list_files(path):

    dbx = dropbox_connect()

    try:
        files = dbx.files_list_folder(path).entries
        for file in files:
            if isinstance(file, dropbox.files.FileMetadata):
                metadata = {
                    'name': file.name,
                    'path_lower': file.path_lower,
                    }
                files_list.append(metadata)

但我现在坚持创建可共享链接,然后将这些链接附加到列表中的每个相关文件。

在 Dropbox API 文档中,他们有 'sharing_create_shared_link_with_settings' 功能,看起来可以做到这一点,但需要一个文件路径,我不确定这是否只是一个路径,或者我如何 A) 按顺序为所有文件传递一个可迭代的路径,然后 B) 我如何将这些附加到一起以达到上述目的?

非常感谢任何帮助。

填充 files_list 后,遍历并将文件路径传递给 sharing_create_shared_link 方法。为此,您可以在脚本中添加类似这样的内容以打印链接列表..

for file in files_list:
    try:
        link = dbx.sharing_create_shared_link(file['path_lower'])
        print(link.url)
    except Exception as e:
        print(e)

假设您使用的是 Dropbox SDK,您需要确保设置了适当的范围(例如 sharing.write),否则您会遇到权限错误。