- Вы хотите получить список файлов в папке.
- Вы хотите показать список файлов в диалоговом окне.
Если мое понимание верно, как об этом ответе? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Точки изменения:
Для стороны скрипта Google Apps
var id = DriveApp.getFoldersByName('attach to Email').next().getId();
и var files = DriveApp.getFolderById(id).getFiles();
могут быть изменено на var files = DriveApp.getFoldersByName('attach to Email').next().getFiles();
.
Для стороны HTML
- При запуске
google.script.run.withSuccessHandler().getfile()
функция getfile()
на стороне скрипта Google Apps отсутствует. На стороне скрипта Служб Google имя функции - getfiles()
. - . В вашем случае вы можете использовать список, полученный со стороны
getfiles()
скрипта Служб Google на withSuccessHandler()
. - В
google.script.run.withSuccessHandler().getfile()
, после завершения getfile()
, запускается function
из withSuccessHandler(function)
. В это время в качестве аргументов можно использовать значения из getfile()
.
Модифицированный скрипт:
Когда ваш скрипт модифицируется, как насчет следующая модификация?
Сторона скрипта Google Apps:
Пожалуйста, измените getfiles()
следующим образом.
function getfiles(){
var files = DriveApp.getFoldersByName('attach to Email').next().getFiles(); // Modified
var fileList = []; // Added
while (files.hasNext()) {
var file = files.next();
fileList.push({filename: file.getName(), fileId: file.getId()}); // Added
}
return fileList; // Modified
}
- В этой модификации имена файлов и идентификаторы файлов файлы возвращаются в виде массива.
HTML side:
Пожалуйста, измените тег body следующим образом. Из вашего HTML я могу подтвердить, что вы используете jquery. Так что эта модификация также использует его.
<body>
<ul></ul> <!-- Added -->
<script>
google.script.run.withSuccessHandler(list => { // Modified
const li = list.reduce((s, e) => s += "<li>" + e.filename + "(" + e.fileId + ")</li>", "");
$("ul").append(li);
}).getfiles();
</script>
</body>
- В этой модификации список добавляется с использованием извлеченного массива.
Примечание:
- В вышеописанном измененном сценарии, когда в редакторе сценариев запускается
ImportSBMessage()
, открывается диалоговое окно и запускается getfiles()
. Затем отображается список файлов. - Это простой пример сценария. Поэтому, пожалуйста, измените его для вашей реальной ситуации.
Ссылки:
Если я неправильно понял ваш вопрос, и это не то направление, в котором вы хотите, я приношу свои извинения.