У меня есть функция sendEmail (), которая принимает данные из формы ввода Google, а затем создает новый черновик с этой информацией в теле для просмотра и отправки.
Я хотел автоматически открыть черновик вновое окно после обработки данных, которое мне удалось создать, создав другую функцию openWindow () с использованием SpreadsheetApp.getUi () и HtmlService.creatHtmlOutput ()
Когда я запускаю openWindow как отдельную программуработает отлично.Однако, когда я вызываю его из более крупной функции sendEmail (), ничего не происходит.Переменные передаются правильно, так как я вижу все обработанное в журнале, но окно не открывается.
function sendEmail() {
//....There is more before this but not pertinent
// DRAFT EMAIL //
var draft = GmailApp.createDraft(emailAddress, emailSubject, "",{htmlBody: emailBody});
var draftID = draft.getMessage().getId();
openWindow(draftID);
}
function openWindow(draftID) {
var js = " \
<script> \
window.open('https://mail.google.com/mail/u/1/?zx=ov61dxfbrcga#drafts?compose="+draftID+"', '_blank', 'width=800, height=800'); \
google.script.host.close(); \
</script> \
";
Logger.log(draftID + " " + js);
var html = HtmlService.createHtmlOutput(js)
.setHeight(10)
.setWidth(100);
SpreadsheetApp.getUi().showModalDialog(html, 'Now loading.'); // If you use this on Spreadsheet
}