Я пытаюсь передать переменную (мое имя в ячейке A1) из моего кода.gs в свой Index.html и отправить ее по электронной почте.Передача js Переменная в html-файл GAS-BASIC
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно, или укажите мне в правильном направлении.
Code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function sendEmail() {
var ss = SpreadsheetApp.openById('MY_SPREADSHEET_ID');
var sheet = ss.getSheetByName('Sheet1');
var myName = sheet.getRange(1,1).getValue();
var template = HtmlService.createTemplateFromFile('Index');
var body = template.evaluate().getContent();
// SEND THE EMAIL
MailApp.sendEmail({
subject:"Test Email",
to:"[email protected]",
htmlBody: body,
});
return myName;
Index.html
<!DOCTYPE html>
<html>
<body>
<p><? var data = sendEmail(); ?><?= data ?></p>
</body>
</html>
Я думаю, проблема заключается в рекурсии. Чтобы отправить E-mail (функция sendEmail), шаблон должен быть оценен, но для оценки шаблона должна выполняться функция sendEmail -> вечный цикл. Вы можете избежать этого, разделив функцию sendEmail с шаблоном на функцию doGet. –
@ WimdenHerder извините, но я не понимаю, как я могу их разделить. Можете ли вы привести и пример? Спасибо за вашу помощь! –
Вы уже заменили 'MY_SPREADSHEET_ID'' на фактический идентификатор электронной таблицы? Он должен выглядеть примерно так: '1eTQYnI3jOKtyWF1V1DbuF8pdzpUwRNr9podKcoORD68'. –