У меня проблема, папка id не найдена , я хочу создать файл на общем диске внутри папки, которую я подготовил ранее, это мой код
public static void main (String[]args) throws GeneralSecurityException, IOException {
Drive service = CreateFolder.createService();
try {
String key = "1kM_fdJek3b4sErr_xxx";
File fileMetadata = new File();
fileMetadata.setName("invoice");
fileMetadata.setParents(Collections.singletonList(key));
fileMetadata.setMimeType("application/vnd.google-apps.folder");
File file = service.files().create(fileMetadata)
.setFields("id , parents").execute();
System.out.println("folder successfully created by id " + file.getName());
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("deprecation")
private static Drive createService() throws GeneralSecurityException, IOException {
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("my-email-id")
.setServiceAccountScopes(SCOPES)
.setServiceAccountPrivateKeyFromP12File(new java.io.File("privateKey.p12"))
.build();
return new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME).build();
}
это 1kM_fdJek3b4sErr_xxx ключ папки, я использую сервисный аккаунт для авторизации, и это мой файл закрытого ключа privateKey.p12 . моему идентификатору электронной почты предоставлен доступ к общему диску (my-email-id - это диспетчер содержимого). Но у меня возникает проблема с тем, что идентификатор папки не найден, как в сообщении ниже
{
"code" : 404,
"errors" : [ {
"domain" : "global",
"location" : "fileId",
"locationType" : "parameter",
"message" : "File not found: 1kM_fdJek3b4sErr_xxx.",
"reason" : "notFound"
} ],
"message" : "File not found: 1kM_fdJek3b4sErr_xxx."
}
Мне нужна помощь в создании файл в папке на общем диске