如何删除文件属性google drive

qf9go6mv  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(357)

我尝试删除一个文件属性,如下所示,但删除没有发生。

File file = drive.files()
                    .get(fileId)
                    .setFields("properties")
                    .execute();
            Map<String, String> fileProperties = file.getProperties();
            for (Map.Entry<String, String> entry : fileProperties.entrySet()) {
                if (entry.getKey().contains(PermissionTypeEnum.USER.name()) || entry.getKey().contains(PermissionTypeEnum.GROUP.name())
                        || entry.getKey().contains(PermissionTypeEnum.ROLE.name()) || entry.getKey().contains(PermissionTypeEnum.DEPARTMENT.name())) {
                    entry.setValue(null);
                }
            }
            file.setProperties(fileProperties);
            drive.files().update(fileId, file).execute();

如何删除文件属性?

imzjd6km

imzjd6km1#

为了使用driveapiv3删除文件的特定属性,必须使用 setAppProperties 方法。
根据java library for drive api v3文档: setAppProperties >请求应用程序专用的任意键值对的集合。具有空值的条目在更新和复制请求中被清除。
参数: appProperties - appProperties 或空表示无
因此,您必须更改此行:

file.setProperties(fileProperties);

对此:

file.setAppProperties(fileProperties);

参考

驱动器api v3的java库。

相关问题