Я пытаюсь вернуть URL-адрес и заголовок скопированного файла, чтобы пользователь надстройки мог получить некоторую информацию, а также возможность открыть файл непосредственно из надстройки после созданияcopy.
моя функция файла Code.gs:
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();
}
var sheet = 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);
}
return DriveApp.getFileById(fileId).makeCopy('Copy of '+title).getUrl();
}
функция в моем файле javascript.html должна срабатывать при успехе следующим образом
function fileCopySuccess(fileInfo){
var content = '';
if( fileInfo != null){
content += '<h2>' + fileInfo['title'] + '</h2>';
content += '<a class="button action" href="' + fileInfo['url'] + '" target="_blank">Open File</a>';
$('#downloadBtn').html(content).removeClass('error');
} else {
$('#downloadBtn').html('');
}
}
В настоящее времяЯ получаю undefined
только на оба, title
и URL
Я уверен, что мне нужно добавить какой-то метод в конец после makeCopy()
, чтобы передать массив в мой fileCopySuccess
,но не знаю что и как.
Пожалуйста, помогите.