阅读几篇SO帖子(例如here),其中提到Google云端硬盘文件可以包含多个父级,即多个文件夹中的相同文件。我想测试一下,因为我正在集思广益,为我的Android应用程序备份文件集合,而不必在每次备份时重新加载整个集合。
不幸的是,当我在下面设置文件元数据时,该文件不会上传到任一父文件夹。当我向其中一位父母发表评论时,它会上传并显示。
因此,我认为设置多个父项的功能是为“垃圾”或“收藏夹”等特殊文件夹保留的。或者我是否需要在初始创建后尝试更新文件?
List<ParentReference> parents = new ArrayList<ParentReference>();
parents.add(new ParentReference().setId(parentId1));
parents.add(new ParentReference().setId(parentId2));
static private File create_File(String fileName, List<ParentReference> parents){
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("db");
System.out.println("Mimetype " + mimeType);
// File's metadata.
File file = new File();
file.setMimeType(mimeType);
file.setTitle(fileName);
file.setParents(parents);
return file;
}
答案 0 :(得分:6)
因此,我认为设置多个父母的功能是为“垃圾”或“收藏夹”等特殊文件夹保留的。
没有。任何文件都可以有多个父项。您可以在https://developers.google.com/drive/v2/reference/files/insert#try-it
轻松试用或者我是否需要在初次创建后尝试更新文件?
没有。您可以在创建时拥有多个父项。
养成查看应用发送的http请求并将其与https://developers.google.com/drive/v2/reference/files/insert#try-it
中的内容进行比较的习惯是一个好主意。您可以在此处启用http记录https://developers.google.com/drive/v2/reference/files/insert#try-it
答案 1 :(得分:0)
根据我从API中获得的错误消息,根据以下给出的来自Google的错误消息,限制是对Team Drives或Shared Drives的:
...?supportsAllDrives = true ...
403
"errors": [
{
"domain": "global",
"reason": "teamDrivesParentLimit",
"message": "A shared drive item must have exactly one parent."
}
答案 2 :(得分:0)
自2020 年 9 月 30 日起,不再允许多位家长。您现在可以使用 shortcuts 迁移或解决您的问题。