【发布时间】:2016-11-22 10:24:41
【问题描述】:
我正在使用带有服务帐户的 Google Drive API for Java,我想删除我自己设置的服装属性。
在https://developers.google.com/drive/v3/web/migration,我读到我需要使用映射更新文件,在该映射中我将键与空值放在一起。
(files.update with {'properties':{'key':null}})
我的代码如下所示:
File body = new File();
Map<String, String> map = new HashMap<>();
map.put(propertyName, null);
body.setProperties(map);
service.files().update(fileId, body).execute();
JSON 内容为{properties={test=null}}
上面的代码没有任何异常,但是属性仍然被设置。如何删除该属性?
【问题讨论】:
-
如果适用于您的情况,您可以尝试使用
Files: update更新文件。文档中指出properties是所有应用程序可见的任意键值对的集合。并且在更新和复制请求中清除具有空值的条目。另一种可能的方法是使用 Drive API 的 v2,其中有一个选项 deleting properties。希望对你有帮助。 -
我尝试使用新的元数据更新文件,但不幸的是它不会影响属性。更新调用没有任何问题。我可以更新值,但在将值设置为 null 时不会删除属性。
-
哦,我需要为这个项目使用版本 3,因此我不能使用版本 2 的 API。
-
我刚刚使用 v3 对此进行了快速测试。在我的情况下,虽然没有按照文档中的说明清除密钥,但该值设置为 null 或至少设置为显示为 null 的值。
-
您找到解决方案了吗?
标签: java google-drive-api