使用Javascript通过电子邮件发送Google表单数据
我正在尝试设置一个谷歌电子表格,当某些值更改为“是”时发送电子邮件。到目前为止,我已经知道了它的工作原理,除了变量task和program是“未定义的” 第二,我只希望它发送一封电子邮件,如果否更改为是。所以说E2已经是“是”,但E3是“否”。有人进去把E3改为“是”…我只想通过电子邮件发送第3列而不是第2列中的信息 最后,我如何让它检查E列中的每一项是否为“是:…因此E2到E50?现在,它只检查E4..我想将其设置为检查整个列 我是javascript的新手,似乎被卡住了。谢谢使用Javascript通过电子邮件发送Google表单数据,javascript,google-sheets,google-drive-api,Javascript,Google Sheets,Google Drive Api,我正在尝试设置一个谷歌电子表格,当某些值更改为“是”时发送电子邮件。到目前为止,我已经知道了它的工作原理,除了变量task和program是“未定义的” 第二,我只希望它发送一封电子邮件,如果否更改为是。所以说E2已经是“是”,但E3是“否”。有人进去把E3改为“是”…我只想通过电子邮件发送第3列而不是第2列中的信息 最后,我如何让它检查E列中的每一项是否为“是:…因此E2到E50?现在,它只检查E4..我想将其设置为检查整个列 我是javascript的新手,似乎被卡住了。谢谢 funct
function readCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form Responses");
var value = sheet.getRange("G4").getValue();
var task = sheet.getRange("E4").getValue();
var program = sheet.getRange("C4").getValue();
if(value="Yes") sendEmail(value);
if(value="Yes") sendEmail(task);
if(value="Yes") sendEmail(program);
};
function sendEmail(value, task, program) {
var email = "test@gmail.com";
var subject = "Jacob has completed a task.";
var body = "This is an automated generated email, Jacob Workman has completed for " + task + "for" + program;
var oauthConfig = UrlFetchApp.addOAuthService("google");
oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope=https://spreadsheets.google.com/feeds/");
oauthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oauthConfig.setConsumerKey("anonymous");
oauthConfig.setConsumerSecret("anonymous");
MailApp.sendEmail(email,subject,body);
};
谢谢您的sendmail()
函数有3个参数,但是当您使用它时,您只需传入一个值作为值
变量。请尝试:
if(value="Yes") {
sendEmail(value, task, program);
}
不是像Akum指出的那样分别编辑每一行,而是参数有误
你无意中做了一个你想做比较的作业
if(value === "Yes") sendEmail(value, task, program);
尽管它可以更好地写为:
if(value === "Yes") {
sendEmail(value, task, program);
}
顺便说一句:有一个很棒的工具叫做,它可以帮助发现常见的问题,比如=
和==