Я пытаюсь загрузить файл, используя mulesoft через Java-код, в папку с ошибкой 404, файл не найден - PullRequest
0 голосов
/ 24 июня 2019

Используя служебную учетную запись в 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."
    }

1 Ответ

0 голосов
/ 25 июня 2019

"Файл не найден: folderId.",

Означает, что указанный вами идентификатор папки недоступен пользователю, которого вы используете для запуска приложения.

Вы используете служебную учетную запись. Что вам нужно помнить, так это то, что учетные записи - это не вы Учетная запись службы - это фиктивный пользователь, имеющий собственную учетную запись Google Drive.

Вам необходимо предоставить доступ к этой папке учетной записи службы. Перенесите адрес электронной почты учетной записи службы на диск Google и поделитесь этим каталогом с ним. После этого он получит доступ к рассматриваемой папке.

Если вы используете gsuite, тогда Деликатность всего домена должна быть правильно настроена для учетной записи службы, чтобы предоставить ей доступ к файлам в домене. После того, как вы настроите его правильно, файл file.list сообщит вам об этом, поскольку он сможет просматривать файлы в это время.

...