为Google Drive文件设置多个家长

问题描述 投票:3回答:2

看了几篇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;
}
android google-drive-api
2个回答
7
投票

2020年5月** - 请参阅下面的评论。谷歌已经决定从2020年9月起不允许多家长。这使得问题和答案都变得陈旧**。

因此,我认为设置多个父母的功能是为 "垃圾桶 "或 "收藏夹 "等特殊文件夹保留的?

不,任何文件都可以有多个父文件夹。你可以在以下地方轻松尝试 https:/developers.google.comdrivev2referencefilesinsert#try-it。

还是我需要在初始创建后尝试更新文件?

不,你可以在创建时拥有多个父文件。

最好养成查看应用程序发送的http请求的习惯,并将其与您在 https:/developers.google.comdrivev2referencefilesinsert#try-it。

您可以在这里启用http日志 https:/developers.google.comdrivev2referencefilesinsert#try-it。


0
投票

从我在API中得到的错误信息来看,限制是与团队驱动器或共享驱动器,根据谷歌的错误信息,如下所示。

...?supportsAllDrives=true... ...

403 "errors": [ { "domain": "global", "reason": "teamDrivesParentLimit", "message": "A shared drive item must have exactly one parent." }

© www.soinside.com 2019 - 2024. All rights reserved.