看了几篇SO的文章(如 这里我想测试一下,因为我正在为我的安卓应用程序备份文件集的想法进行头脑风暴,而不必在每次备份时重新加载整个文件集。 我想测试一下,因为我正在为我的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;
}
2020年5月** - 请参阅下面的评论。谷歌已经决定从2020年9月起不允许多家长。这使得问题和答案都变得陈旧**。
因此,我认为设置多个父母的功能是为 "垃圾桶 "或 "收藏夹 "等特殊文件夹保留的?
不,任何文件都可以有多个父文件夹。你可以在以下地方轻松尝试 https:/developers.google.comdrivev2referencefilesinsert#try-it。
还是我需要在初始创建后尝试更新文件?
不,你可以在创建时拥有多个父文件。
最好养成查看应用程序发送的http请求的习惯,并将其与您在 https:/developers.google.comdrivev2referencefilesinsert#try-it。
您可以在这里启用http日志 https:/developers.google.comdrivev2referencefilesinsert#try-it。
从我在API中得到的错误信息来看,限制是与团队驱动器或共享驱动器,根据谷歌的错误信息,如下所示。
...?supportsAllDrives=true... ...
403
"errors": [
{
"domain": "global",
"reason": "teamDrivesParentLimit",
"message": "A shared drive item must have exactly one parent."
}