java - 我正在尝试使用 mulesoft 通过 Java 代码将文件上传到文件夹,但出现 404 文件未找到错误

标签 java google-drive-api mule google-api-java-client service-accounts

在 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."
    }

最佳答案

"File not found: folderId.",

这意味着您提供的文件夹 ID 不适用于您用来运行应用程序的用户。

您正在使用服务帐户。您需要记住的是,服务帐户不是您。服务帐户是一个虚拟用户,拥有自己的 Google 云端硬盘帐户。

您需要与服务帐户共享此文件夹。将服务帐户电子邮件地址放入谷歌驱动器并与其共享该目录。然后它将可以访问相关文件夹。

如果您使用的是 gsuite 那么 Domain wide delication需要为服务帐户正确设置,以授予其访问域上文件的权限。执行 file.list 会在您正确设置后告诉您,因为届时它将能够看到文件。

关于java - 我正在尝试使用 mulesoft 通过 Java 代码将文件上传到文件夹,但出现 404 文件未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728731/

相关文章:

骡子服务器自动部署细节

google-drive-api - 在运行时在 Google Colab 中重新验证或删除验证 Pydrive

docker - 使用有限资源调整 Mule 性能

java - Java 中的双面打印

java - Spring MVC : Ambiguous mapping found with multiple Dispatchers

rest - 通过 REST v3 上传的文件显示为 "Untitled"

java - 异常 java.lang.NoClassDefFoundError : com. google.android.gms.common.AccountPicker

java - 在 Mule 表达式语言中使用导入 Java 类

java - 在Java中计算样本方差,但在插入相似数字时给出错误的答案

java - 使用 jdbctemplate 插入查询给出异常 UncategorizedSQLException