Как создать .txt из Gdocs с помощью Google App Maker? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь создать файл .txt из Gdocs с помощью Appmaker, единственная проблема в том, что getAs('application/csv') или getAs(MimeType.CSV) не поддерживается в AppMaker.

Кто-нибудь знает, каксделать это по-другому?

var blob = Doc.getAs(MimeType.CSV);

Ответы [ 2 ]

2 голосов
/ 11 октября 2019

Создание текстового файла

Скрипт:

function makeATextFile() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var s='';
  vA.forEach(function(r,i){
    r.forEach(function(c,j){
      if(j>0)s+=',';
      s+=Utilities.formatString('%s',vA[i][j] );
    })
    s+='\n';
  })
  var folderId=DriveApp.getFileById(ss.getId()).getParents().next().getId();
  var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMddyyyyHHmm")
  DriveApp.getFolderById(folderId).createFile(ts+'.txt', s);
}

Таблица данных:

enter image description here

Текстовый файл

enter image description here

Google AppsСкрипт запускается в App Maker.

1 голос
/ 15 октября 2019

Очевидно, что функция getas () не поддерживается, однако это не является специфической проблемой для App Maker, а скорее связано со скриптом Google Apps, который используется для запуска серверных скриптов в AM.

ниже предложен обходной путь, который может не соответствовать вашим точным потребностям, но некоторые испытания дали многообещающие результаты:

var doc = DocumentApp.openById(id);
var name = doc.getName();
var text = doc.getBody().getText();

DriveApp.createFile(name, text, MimeType.CSV);
...