Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript通过电子邮件发送Google表单数据_Javascript_Google Sheets_Google Drive Api - Fatal编程技术网

使用Javascript通过电子邮件发送Google表单数据

使用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

我正在尝试设置一个谷歌电子表格,当某些值更改为“是”时发送电子邮件。到目前为止,我已经知道了它的工作原理,除了变量task和program是“未定义的”

第二,我只希望它发送一封电子邮件,如果否更改为是。所以说E2已经是“是”,但E3是“否”。有人进去把E3改为“是”…我只想通过电子邮件发送第3列而不是第2列中的信息

最后,我如何让它检查E列中的每一项是否为“是:…因此E2到E50?现在,它只检查E4..我想将其设置为检查整个列

我是javascript的新手,似乎被卡住了。谢谢

  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);
}
顺便说一句:有一个很棒的工具叫做,它可以帮助发现常见的问题,比如
=
==