gpt4 book ai didi

java - 如何知道一个ID是否是Google Drive V3中的root id?

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:06 25 4
gpt4 key购买 nike

在 Google Drive V2 中,我们可以通过获取 ParentReference 对象并使用 getIsRoot() 方法进行查询来了解它。

在 V3 中,如果我们尝试获取 Parent,则没有任何 ParentReference 类,因此没有任何方法可以知道给定的 Id 是否为 root。

最佳答案

每个文件和文件夹都有一个父除了根(又名“我的云端硬盘”)。因此,如果您的文件元数据告诉您它是一个文件夹,并且它没有父级,那么就暗示它是根文件夹。注意:请参阅 Danielx 的评论。在某些罕见的情况下,文件夹可能会被孤立,因此需要进行额外的测试。

伪代码
boolean isRoot(文件文件){
return (file.parents.size == 0
&& file.mimeType == "application/vnd.google-apps.folder")
}
我查看了旧版本库的源代码,以了解 getIsRoot() 方法的实际实现。它公开了 ParentReference 资源的 isRoot 属性。因此,您仍然可以通过使用 v2 REST 调用来访问此属性,特别是 https://developers.google.com/drive/v2/reference/parents#resource

话虽如此,但不能保证将来云端硬盘不会有多个根(例如,针对不同的域)。

也许最安全的方法是:-

  1. 创建一个没有父级的空文件/文件夹。根据定义,这将在 root 中创建。
  2. 在作为文件资源的json响应中,检查parents集合以查看parent的ID,即。 root的ID。
  3. 将其存储在 Android 首选项(Cookie、服务器数据存储等,具体取决于您的应用运行位置)或 AppData 中。

关于java - 如何知道一个ID是否是Google Drive V3中的root id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com