HTML-код:
Код: Выделить всё
Send files to your email
var start1 = async () => {
document.getElementById("reStartButton").disabled = true;
var response = await new Promise(resolve => google.script.run.withSuccessHandler(resolve).sendFileToEmail());
console.log("Email sent: ", response);
};
Код: Выделить всё
function sendFileToEmail() {
Logger.log("Function called.");
var myEmail = Session.getActiveUser().getEmail();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var solId = ss.getSheetByName('title').getRange('A77').getValue();
var sol = UrlFetchApp.fetch(`https://docs.google.com/spreadsheets/d/${solId}/export?format=xlsx&id=${solId}`, {
method: "GET",
headers: { "authorization": "Bearer " + ScriptApp.getOAuthToken() }
}).getBlob();
MailApp.sendEmail(myEmail, 'Quiz', 'See attached.', { attachments: [sol] });
}
Сообщение Logger.log("Функция вызвана.") никогда не появляется, что указывает на то, что функция не вызывается. При запуске непосредственно в редакторе Apps Script функция работает нормально.
Области применения:
Мой файл appsscript.json включает в себя:
Код: Выделить всё
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/script.send_mail",
"https://www.googleapis.com/auth/gmail.send"
]
Подробнее здесь: https://stackoverflow.com/questions/793 ... script-run