Функция makeCopy () для возврата URL и названия скопированного файла с пользовательского диска - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь вернуть 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,но не знаю что и как.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 06 марта 2019

Вы должны вернуть объект JSON из функции Google Script.

var newFile = DriveApp.getFileById(fileId).makeCopy('Copy of '+title);
return {
  title: title, 
  url: newFile.getUrl()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...