【问题标题】:Google Drive Java API V3 delete custom propertyGoogle Drive Java API V3 删除自定义属性
【发布时间】: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


【解决方案1】:

从 API V2 到 v3,在删除、更新属性和其他一些函数调用时进行了一些更改。请验证
https://developers.google.com/drive/v3/web/migration#methods
在这个页面你可以找到 properties.delete、properties.get 和 properties.insert
用于 v3 中的删除属性
PRIVATE:files.update 使用 {'appProperties':{'key':null}}
PUBLIC: files.update with {'properties':{'key':null}}

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 2023-02-08
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多