我正在使用Google Drive API for Java(v3-rev111-1.23)。我试图从资源中删除属性。 我按照这个文档:
https://developers.google.com/drive/v3/reference/files/update https://developers.google.com/drive/v3/web/migration#methods
这是我写的代码:
Drive service = getDriveService();
File file = new File();
Map<String,String> properties = new HashMap<>();
properties.put("propA", null);
file.setProperties(properties);
file = service.files().update(fileId, file).execute();
问题是该属性永远不会被清除。保留前一个值。
如果我用:
编写生成的jsonSystem.out.println(service.files().update(fileId, file).getJsonContent());
我明白了:
{属性= {propA = NULL}}
使用相同的代码添加新属性,如:
properties.put("test", "yes");
我明白了:
{属性= {测试= YES}}
它运作正常。
有人面对并解决了这个问题吗?
我从2016年开始阅读这篇文章Google Drive Java API V3 delete custom property,但没有给出解决方案。
更多详情:
使用网络的try-it(https://developers.google.com/drive/v3/reference/files/update)我可以创建属性,修改它们甚至删除它们。
感谢。
答案 0 :(得分:0)
以下是我可以分享的内容,可以帮助您,使用Try-it:
我使用Files.create创建了一个文件,并创建了一个自定义属性
appProperties{
"supersaiyan": "yes"
}
然后我使用Files.update删除了它:
appProperties{
"supersaiyan": null
}
当我尝试抓取appProperties
时,我得到{}
,表示已成功删除。