Google apps script 学生填写谷歌表格时教师的表格通知
我正在为学校制作一个网站来连接学生和老师。教师填写一份谷歌表格,要求提供服务(批改试卷…),并将其连接到谷歌电子表格。然后,学生可以看到该电子表格,并在不同的谷歌表格上注册以帮助老师,并且该响应记录在同一个谷歌电子表格中。当学生提交他/她的谷歌表单时,我希望通过电子邮件通知老师有学生注册帮助他们。我如何发送通知?我不希望通知来自我自己的学校地址。可能吗? 以下是谷歌网站: 这是我目前掌握的代码:Google apps script 学生填写谷歌表格时教师的表格通知,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我正在为学校制作一个网站来连接学生和老师。教师填写一份谷歌表格,要求提供服务(批改试卷…),并将其连接到谷歌电子表格。然后,学生可以看到该电子表格,并在不同的谷歌表格上注册以帮助老师,并且该响应记录在同一个谷歌电子表格中。当学生提交他/她的谷歌表单时,我希望通过电子邮件通知老师有学生注册帮助他们。我如何发送通知?我不希望通知来自我自己的学校地址。可能吗? 以下是谷歌网站: 这是我目前掌握的代码: function sendEmails() { var sheet = Spreadsheet
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tutors
Signed Up");
var startRow = sheet.getLastRow(); // First row of data to process
var dataRange = sheet.getRange(startRow, 1, 1, 5)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[3]; // Second column
var tutor = row[0];
MailApp.sendEmail(emailAddress,"Tutor Request Filled",""+tutor+" has accepted your request to be tutored! Please notify"+tutor+" if anything changes.");
}
}
getLastRow似乎不起作用,电子邮件是从我自己的地址发送的,如果可能的话,也不是谷歌表单通知
如果这是不可能的,我可能只是让学生发送电子邮件给老师,但我真的想自动化的过程。如果你能想出一个解决办法,那也太棒了。再加上Sandy Good和Guilherme提到的。 这里还有一些提示: 不清楚要在函数中获取哪些数据。您是否试图从表单提交中获取数据?在这种情况下,您需要从脚本菜单设置触发器,并将其连接到函数(函数需要有一个“event”参数,通常称为e)
函数processFromSubmission(e){//get data from e}
如果你不想这么做,我会道歉的。记录sheet.getLastRow()时会发生什么情况
询问学校是否可以为您获取另一个用于此表单的电子邮件地址,例如notifications@yourschool.edu. 按照设置您的别名。为“拥有”这些表单发送数据的电子表格的gmail帐户这样做
确保您的别名设置正确。撰写电子邮件时,您应该能够在“发件人”下拉菜单中看到它。另外,请尝试运行codeLogger.log(GmailApp.getAliases())
并检查日志是否可用
使用GmailApp.sendmail发送电子邮件,而不是MailApp.sendmail。它们几乎相同,但MailApp版本似乎不允许您使用别名发送。如果您想将“replyTo”电子邮件设置为其他内容,例如学生填写表单或其他内容(仍然不清楚您要设置什么!),您也可以指定该电子邮件
发送电子邮件,如:
GmailApp.sendEmail(emailAddress, subject, body,
{replyTo: replyToEmailAddress_can_be_any_email,
from: 'notifications@yourschool.edu'
});
注意:您的链接未打开。要使电子邮件来自不同的电子邮件地址,帐户必须允许别名电子邮件地址,并且您必须使用高级参数和
from
设置。需要通过一个过程来设置和验证别名电子邮件地址是否为帐户所有。否则,任何人都可以发送来自其他人的电子邮件。您可能还需要与帐户域管理员联系,以查看是否设置了任何限制。因此,您需要了解域管理员是谁。除了Sandy Good comment、Notification Add-on之外,您还应该查看代码。