Перезаписать файл изображения с помощью скрипта Google Apps

Можно ли перезаписать файл изображения с помощью скрипта Google Apps? Я пробовал:

file.setContent(newBlobImage);
file.replace(newBlobImage);

Ни одна из этих работ..setContent() удалит все данные, которые были в файле, и похоже, что он просто записывает имя переменной в виде текста или что-то в этом роде. Я предполагаю, что оба.setContent() а также.replace() предназначены для текстовых документов, и, возможно, именно поэтому они не работают.

Если бы это был текстовый файл или электронная таблица, я мог бы очистить его, а затем добавить новый контент.

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

Если я напишу файл с тем же именем, он не будет перезаписывать существующий файл, он создаст другой файл с тем же именем.

Единственный способ удалить файл -DocsList и единственный успех у меня был с созданием файла изображения сDriveApp, Так что я должен уничтожить файл сDocsListзатем создайте другой файл сDriveApp.

Ну, я разобрался, как удалить файл, не отправляя его в корзину, поэтому мне не нужно будет позже вычищать корзину.Google Drive SDK внутри скрипта приложений естьremove метод, который не отправлял файл в корзину, он просто исчез.

var myFolder = DriveApp.getFolderById('3Bg2dKau456ySkhNBWB98W5sSTM');

thisFile = myFolder.getFilesByName(myFileName);

while (thisFile.hasNext()) {
  var eachFile = thisFile.next();
  var idToDLET = eachFile.getId();
  Logger.log('idToDLET: ' + idToDLET);

  var rtrnFromDLET = Drive.Files.remove(idToDLET);
};

Итак, я объединяюDriveApp обслуживание иDriveAPI удалить файл, не отправляя его в корзину.DriveAPI .remove нужен идентификатор файла, но у меня нет идентификатора файла, поэтому файл ищется по имени, затем извлекается идентификатор файла, затем идентификатор используется для удаления файла. Поэтому, если я не могу найти способ перезаписать файл, я могу, по крайней мере, удалить старый файл, не отправляя его в корзину.

Я просто заметил, чтоDriveAPI сервис имеетPatch иUpdate вариант.

.patch(resource, fileId, optionalArgs)

Google Documentation Patch Обновляет метаданные файла.

resource arg - это, вероятно, метаданные.fileId говорит само за себя. Я предполагаю, чтоoptionalArgs параметры соответствуют семантике HTTP Request Patch? Я не знаю.

Похоже, что Patch и Update будут обновлять данные. ОбновлениеPUT запрос, который будет

очищает ранее установленные данные, если вы не указали необязательные параметры.

Согласно документации. Поэтому безопаснее использовать запрос Patch, потому что любые пропущенные параметры просто игнорируются. Я еще не пробовал, но, возможно, это ответ.

Я получаю ошибку сPatchтак что я попробуюUpdate:

.update(resource, fileId, mediaData)

Это имеет аргумент для mediaData в форме капли. И я думаю, что это то, что мне нужно. Но я не уверен, чтоresource Параметр нуждается. Так что я застрял там.

Ответы на вопрос(2)

Ваш ответ на вопрос