【问题标题】:Send Google Form data through email with Javascript使用 Javascript 通过电子邮件发送 Google 表单数据
【发布时间】:2014-04-04 02:00:12
【问题描述】:

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

其次,我只希望它在 no 更改为 yes 时发送电子邮件。所以说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); 

    };

谢谢

【问题讨论】:

    标签: javascript google-sheets google-drive-api


    【解决方案1】:

    您的 sendEmail() 函数有 3 个参数,但是当您使用它时,您只需将一个值作为 value 变量传递。试试:

    if(value="Yes") {
        sendEmail(value, task, program);
    }
    

    而不是单独的每一行

    【讨论】:

      【解决方案2】:

      EDIT 正如 Akum 指出的那样,您也有参数错误。

      你不小心做了一个你打算做比较的作业。

      if(value === "Yes") sendEmail(value, task, program);
      

      虽然写成这样会更好:

      if(value === "Yes") {
        sendEmail(value, task, program);
      }
      

      顺便说一句:有一个很棒的工具叫做JSHint,可以帮助找到常见的问题,比如====

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-05
        • 1970-01-01
        • 2011-01-23
        • 2021-04-18
        • 2016-08-29
        • 1970-01-01
        相关资源
        最近更新 更多