Dropbox SDK 版本:3.0.3
friend 们大家好,
我正在努力将 Dropbox 迁移到 v2。其他任务(例如上传、下载、删除)已完成,但我们在文件夹名称和路径方面遇到一些问题。我想仅从 Dropbox 获取文件夹列表,以便用户可以将文件上传到所需的文件夹。每当我尝试下面的代码时,我也会获取文件,方法是 listFolders。
如何仅使用 V2 API 获取文件夹?谢谢。
代码:
DbxClientV2 client = new DbxClientV2(config, person.getDropboxAccessToken());
ListFolderResult listing = client.files().listFolderBuilder("").start();
for (Metadata child : listing.getEntries()) {
stringList.put(child.getPathDisplay(),child.getPathDisplay());
}
这个 stringList 仅用于测试,但在条目中,我无法获取文件夹。谢谢。
最佳答案
为了澄清,方法 files().listFolderBuilder
(即,不是 listFoldersBuilder
)是一种列出特定文件夹内所有内容的方法。在您的代码中,您提供 ""
路径,该路径标识根文件夹。
Dropbox API 不提供仅列出文件夹的方法,但我会将其作为功能请求传递。
既然如此,如果您只想列出文件夹(而不是文件),则需要检查返回条目的类型。您可以使用 instanceof
来执行此操作,例如 shown here ,检查条目是否为 FolderMetadata
、FileMetadata
或 DeletedMetadata
。
关于Java、Dropbox V2 : Get only names and paths of folders, 不是文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45544214/