我需要创建 GDrive
文件夹到另一个 GDrive
文件夹。
这就是代码。
private static String createDriveFolder(String folderName, String mainFolder, Drive service) throws IOException {
File fileMetadata = new File();
fileMetadata.setName(folderName);
fileMetadata.setParents(Collections.singletonList(mainFolder));
fileMetadata.setMimeType("application/vnd.google-apps.folder");
File file = service.files().create(fileMetadata)
.setFields("id, parent")
.execute();
System.out.println("Folder ID: " + file.getId());
return file.getId();
}
我得到这个错误...
Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "fields",
"locationType" : "parameter",
"message" : "Invalid field selection parent",
"reason" : "invalidParameter"
} ],
"message" : "Invalid field selection parent"
}
请帮助我...
这个修改怎么样?我认为从错误信息来看,问题的原因是由于以下的值 fields
.
.setFields("id, parent")
.setFields("id, parents")
请修改 parent
到 parents
. 在Google Drive,现阶段,一个文件和文件夹都有多个家长。所以,在Google Drive上,在当前阶段,一个文件和文件夹有多个父母,所以 parents
是用的。但我们可以看到下面的公告。参考
从2020年9月30日开始,不再能将一个项目放在多个文件夹中,每个项目将只有一个位置。在新模式中,可以使用快捷键来组织多个层次的内容。Drive的文件夹结构和共享模型的这种简化将导致一些Google Drive API端点的行为方式发生变化。
parents
将改为 parent
. 所以关于这一点,我想确认一下2020年9月30日之后驱动API的变化。