java - 是否可以从 Dropbox 文件的元数据中检索唯一的标签?

标签 java dropbox dropbox-api dropbox-sdk

我正在尝试检索 Dropbox 元数据的标签,以便我可以将其保存在列表中,并使用它来显示给定的数据是否属于文件、文件夹类型或已被删除?

这是我使用的方法withInincludedDeleted,它允许我显示所有已删除的文件/文件夹以及未删除的文件/文件夹,并显示标记(如果已删除)。

ListFolderBuilder EntrylistFolderBuilder = getDbxCleint().files().listFolderBuilder("/data/entries");
    ListFolderResult result = EntrylistFolderBuilder.withRecursive(true).withIncludeDeleted(true).start();
    while (true) {
        for (Metadata metadata : result.getEntries()) {
            mEntries.add(metadata);

            //--------//
        }
        if (!result.getHasMore()) {
            break;
        }
        result = getDbxCleint().files().listFolderContinue(result.getCursor());
    }
}

是否可以从元数据中检索标签?因为我不想编写不同的非常相似的外观方法,其中一个包含删除,另一个不包含它,只需两次打印两个列表。

这就是存储在 mEntries ArrayList 中的元数据的样子 -

{".tag":"folder","name":"entries","id":"id:NNgoZ4mypJAAAAAAAAABCw","path_lower":"/data/entries","path_display":"/data/entries"}

{".tag":"deleted","name":"entry_87e7c498a6631825dd3aa5a3c810c49a","path_lower":"/data/entries/entry_87e7c498a6631825dd3aa5a3c810c49a","path_display":"/data/entries/entry_87e7c498a6631825dd3aa5a3c810c49a"}

{".tag":"file","name":"entry_0d08beeee44681783e76de22fdfa9cb1","id":"id:NNgoZ4mypJAAAAAAAAAA_g","client_modified":"2019-03-04T10:11:44Z","server_modified":"2019-03-04T10:11:45Z","rev":"017000000012d1542b0","size":389,"path_lower":"/data/entries/entry_0d08beeee44681783e76de22fdfa9cb1","path_display":"/data/entries/entry_0d08beeee44681783e76de22fdfa9cb1","content_hash":"b05a1ceebccebd2d85520b944b56ddb7edefc7823a129a9bc116d60bbc9227a7"}

{".tag":"file","name":"entry_48b6afc3a21d255ef0cbe3ec758be441","id":"id:NNgoZ4mypJAAAAAAAAAA_w","client_modified":"2019-03-04T10:11:44Z","server_modified":"2019-03-04T10:11:45Z","rev":"018000000012d1542b0","size":2010,"path_lower":"/data/entries/entry_48b6afc3a21d255ef0cbe3ec758be441","path_display":"/data/entries/entry_48b6afc3a21d255ef0cbe3ec758be441","content_hash":"5c94187209c748e22a38926fddbbf860460e14fee1f3d76f9e81aefc446a6612"}

最佳答案

按原样使用 Dropbox SDK 时,您不需要直接与 JSON 交互(例如,获取“.tag.”值)。 SDK 会为您将这些对象转换为 native 类型对象。您可以检查对象的类型以根据需要处理它们。您可以使用 instanceof 检查类型。

an example of using it here 。在你的情况下,除了检查它是否是 FileMetadataFolderMetadata ,你可以检查它是否是 DeletedMetadata 。 (所有这三个都是 Metadata 的子类。)

关于java - 是否可以从 Dropbox 文件的元数据中检索唯一的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54985381/

相关文章:

Java REST Web 服务 404 错误

java - MongoDB 通过 Java : CommandFailureException, 代码 18

php - 如何在 php 中使用 dropbox 核心 API

json - 无需调用 Web 浏览器进行登录的 Dropbox 用户授权

ios - 通过其核心 api 将图像上传到 DropBox 服务器会在 iOS 中出错

java - EditText 不随内容增长

java - 将字符串 yyyy-MM-dd 转换为日期格式,电话语言从右到左(阿拉伯语)

c# - 下载文件错误: Cannot convert type

api - 使用 CloudRail 进行 Dropbox 身份验证

python - 将 textarea 值直接上传到 Dropbox