是否可以从Dropbox文件的元数据中仅检索标签?

时间:2019-03-04 14:33:36

标签: java dropbox dropbox-api

我正在尝试检索Dropbox的元数据的标记,以便可以将其保存在列表中,并使用它显示给定的数据是File,Folder类型还是删除了?

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

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”:“文件夹”,“名称”:“条目”,“ id”:“ id:NNgoZ4mypJAAAAAAAAABCw”,“ path_lower”:“ /数据/条目”,“ path_display”:“ /数据/条目”}

{“。tag”:“已删除”,“名称”:“ entry_87e7c498a6631825dd3aa5a3c810c49a”,“ path_lower”:“ / data / entries / entry_87e7c498a6631825dd3aa5a3c810c49a”,“ path_display”:“ 3/3/7/7/7

{“。tag”:“文件”,“名称”:“ entry_0d08beeee44681783e76de22fdfa9cb1”,“ id”:“ id:NNgoZ4mypJAAAAAAAAAA_g”,“ client_modified”:“” 2019-03-04T10:11:44Z“,” server_modified“ ::“ 2019-03-04T10:11:45Z”,“ rev”:“ 017000000012d1542b0”,“大小”:389,“ path_lower”:“ / data / entries / entry_0d08beeee44681783e76de22fdfa9cb1”,“ path_display”:“ //数据/条目/ entry_0d08beeee44681783e76de22fdfa9cb1“,” content_hash“:” b05a1ceebccebd2d85520b944b56ddb7edefc7823a129a9bc116d60bbc9227a7“}

{“。tag”:“文件”,“名称”:“ 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“}

1 个答案:

答案 0 :(得分:1)

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

an example of using it here。对于您而言,除了检查它是FileMetadata还是FolderMetadata之外,您还可以检查它是否是DeletedMetadata。 (所有这三个都是Metadata的子类。)