我一直在尝试获取可从 Dropbox 公开访问的文件。它没有共享到我的帐户,但可以看到该文件夹并可以正常下载。也可以通过 https://api.dropboxapi.com/2/files/list_folder 访问文件夹,每个文件见下文。
[1] => Array
(
[.tag] => file
[name] => sharedFile.xlsx
[parent_shared_folder_id] => XXXX
[id] => id:XXXX
[client_modified] => 2023-03-17T09:12:53Z
[server_modified] => 2023-03-17T09:12:53Z
[rev] => XXXX
[size] => 170784
[sharing_info] => Array
(
[read_only] => 1
[parent_shared_folder_id] => XXXX
[modified_by] => dbid:XXXX
)
[is_downloadable] => 1
[content_hash] => XXXX
)
很多答案都建议我需要从这个信息建立一个临时链接,但是在路径中使用 ID 只会返回找不到路径。尝试了几种不同的方法,但运气不佳。
例如https://api.dropboxapi.com/2/sharing/get_file_metadata 似乎显示:
{
"error_summary": "access_error/invalid_file/...",
"error": {
".tag": "access_error",
"access_error": {
".tag": "invalid_file"
}
}
}
不确定是否使用 id: from original response 是处理这些可公开访问的文件夹的方法。我有点沮丧,因为我可以拉取文件列表,但没有简单的方法可以下载文件。我可以下载整个文件夹的 zip,但是只需将 dl=1 添加到共享文件夹的末尾而无需任何身份验证,但最好只获取单个文件。
如果您有文件夹的 Dropbox 共享链接,要根据文件夹的 Dropbox 共享链接下载文件夹内的任何特定文件,您应该使用 /2/sharing/get_shared_link_file。将
url
设置为文件夹的共享链接,将 path
设置为链接文件夹内文件的相对路径。