У меня есть надстройка, которая позволяет пользователю загружать мои шаблоны со своего накопителя на свои, если надстройка установлена в их листе или документе.
Функция, которая должна делать копию, выглядит следующим образом
function createFileCopy(id){
var file = id.split('.');
var docName = DriveApp.getFilesByName(file[0]);
while (docName.hasNext()) {
var file = docName.next();
var fileId = file.getId();
var fileName = file.getName();
}
Logger.log(fileId);
var sheet = SpreadsheetApp.openById(SHEET_ID).getSheetByName(TEMPLATES_DATA);
var data = sheet.getRange(1, 9, sheet.getLastRow()-1, 1).getValues();
var pos = data.map(function (obj) { return obj[0]; }).indexOf(id);
if(pos > -1){
// var val = sheet.getRange("J" + (pos + 1)).getValue() + 1;
var title = sheet.getRange("A" + (pos + 1)).getValue();
// sheet.getRange("J" + (pos + 1)).setValue(val);
}
var newFile = DriveApp.getFileById(fileId).makeCopy('Copy of '+ title);
return {
title: newFile.getName(),
url: newFile.getUrl()
}
Проблема в том, что когда пользователь пытается сделать копию, он / она получает ошибку: «Не удается найти элемент с данным идентификатором или у вас нет разрешения на доступ к нему».
Я прокомментировал 2 строки, я думал, что проблема была в том, что я отправил инкремент загрузки в исходную электронную таблицу, но, как оказалось, это была не единственная проблема.
Отлично работает внутри исходного аккаунта.
Я попросил помощника по надстройке о помощи, но вместо этого меня переадресовали.
Пожалуйста, помогите