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),否则您会遇到权限错误。
我正在尝试从 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),否则您会遇到权限错误。