Как получить текстовое содержание Google Apps Script? - PullRequest
0 голосов
/ 25 сентября 2018

цель - получить все файлы типа SCRIPT с Google Диска;& в цикле получают их текстовое содержимое по одному.

Мой код:

function searchFiles() {
  //https://developers.google.com/apps-script/reference/base/mime-type
  var type = MimeType.GOOGLE_APPS_SCRIPT;
  var files = DriveApp.getFilesByType(type);
  while (files.hasNext()) {
    var file = files.next();
    process(file);
  }
}
function process(file){
  //https://developers.google.com/apps-script/reference/base/mime-type
  var txt = file.getBlob(PLAIN_TEXT);
  Logger.log(txt);
}

Ошибка, которую я получаю от file.getBlob (): Converting from application/vnd.google-apps.script to application/pdf is not supported.

Я также попробовал FetchURL для file.getUrl(), но он также дает весь HTML-файл для файла, если я открываю в том же окне, в котором я вошел в систему, и HTML-страницу ошибки при открытии в режиме инкогнито.

Это так?можно получить текстовое содержимое файла скрипта в Google Apps Script?

1 Ответ

0 голосов
/ 25 сентября 2018

Поток:

  • Получить все файлы сценариев по MIME
  • Получить идентификатор каждого файла
  • Urlfetch его с помощью Drive REST API или Apps Script API

Сценарий:

function getScriptSourceCode(fileid) {
  var params = {
    headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
    followRedirects: true,
    muteHttpExceptions: true,
  };
  var url =
    'https://script.google.com/feeds/download/export?id=' +
    fileid +
    '&format=json';
  var response = UrlFetchApp.fetch(url, params);
  var json = JSON.parse(response);
  for (var file in json['files']) {
    Logger.log(json['files'][file]['source']); //Source code
  }
}

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...