【发布时间】:2019-11-05 19:08:56
【问题描述】:
在 Mulesoft 中使用服务帐户,其中服务帐户对文件夹具有完全读写权限,当我没有在代码中将文件夹指定为父文件夹时,我可以上传文件,但当我指定父字段时,它会回复找不到文件错误。
File fileMetadata = new File();
fileMetadata.setName(filename);
fileMetadata.setParents(Collections.singletonList(folderId));
java.io.File filePath = new java.io.File(pathOfFile);
FileContent mediaContent = new FileContent(extension, filePath);
try {
File result = customGoogleSheetService.getService().files().create(fileMetadata, mediaContent)
.setFields("id, parents")
.execute();
System.out.println("File ID: " + result.getId());
//return result;
}catch (Exception ex) {
ex.printStackTrace();
}
{
"code" : 404,
"errors" : [ {
"domain" : "global",
"location" : "fileId",
"locationType" : "parameter",
"message" : "File not found: folderId.",
"reason" : "notFound"
} ],
"message" : "File not found: folderId."
}
【问题讨论】:
-
您从哪里获得文件夹 ID?你有没有先做一个 files.list 来确保目录存在?
-
我正在从该文件夹示例的浏览器链接中获取 folderId:drive.google.com/drive/folders/folderId,要执行 files.list,您必须提供一个再次显示 fileNotfound 错误的 folderId,如果我只是执行 files .list 它显示帐户个人驱动器中的文件。
-
如果要使用driveService,为什么要使用customGoogleSheetService?
-
名称错误,我为其他东西创建了一个 googleSheetService,更改了里面的代码,但没有更改 java 文件的名称
标签: java google-drive-api mule google-api-java-client service-accounts