Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Php 谷歌在更新时形成电子邮件通知_Php_Google Apps Script_Google Sheets_Google Forms_Google Sheets Api - Fatal编程技术网

Php 谷歌在更新时形成电子邮件通知

Php 谷歌在更新时形成电子邮件通知,php,google-apps-script,google-sheets,google-forms,google-sheets-api,Php,Google Apps Script,Google Sheets,Google Forms,Google Sheets Api,我试图写一个脚本,将发送特定的电子邮件的基础上是否有人提交了一个新的答复或编辑他们现有的答复。我需要主题行阅读“名字姓氏:编辑”或“名字姓氏:响应”,具体取决于提交的内容。如果有人编辑了他们的回复,只有更改的值才会出现在电子邮件中;然而,如果他们不改变自己的名字,它就不会出现在主题行中。有没有关于如何更改此选项的想法,以便在每次编辑或回复时显示其姓名? 提前谢谢 function Initialize() { try { var triggers = ScriptApp.getProject

我试图写一个脚本,将发送特定的电子邮件的基础上是否有人提交了一个新的答复或编辑他们现有的答复。我需要主题行阅读“名字姓氏:编辑”或“名字姓氏:响应”,具体取决于提交的内容。如果有人编辑了他们的回复,只有更改的值才会出现在电子邮件中;然而,如果他们不改变自己的名字,它就不会出现在主题行中。有没有关于如何更改此选项的想法,以便在每次编辑或回复时显示其姓名? 提前谢谢

function Initialize() {

try {

var triggers = ScriptApp.getProjectTriggers();

for (var i in triggers)
  ScriptApp.deleteTrigger(triggers[i]);

ScriptApp.newTrigger("formSubmitted")
  .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
  .onFormSubmit().create();

} catch (error) {
throw new Error("Please add this code in the Google Spreadsheet");
}
}
function formSubmitted(e) {

if (!e) {
throw new Error("Please go the Run menu and choose Initialize");
}

try {

if (MailApp.getRemainingDailyQuota() > 0) {

  // You may replace this with another email address
  var email = "my email";

  // Enter your subject for Google Form email notifications

    var key, entry,
    ss = SpreadsheetApp.getActiveSheet(),
    cols = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0],
    message = "",
    first = e.values[1],
    last = e.values[2];
    var editSubject =  first + " " + last +": Edit";    
    var submitSubject = first + " " + last + ": Submitted";

    // Iterate through the Form Fields
  for (var keys in cols) {

      key = cols[keys];
    entry = e.namedValues[key] ? e.namedValues[key].toString() : "";
      // Only include form fields that are not blank
    if ((entry !== "") && (entry.replace(/,/g, "") !== ""))
      message += key + ' :: ' + entry + "\n\n";


  }

  }

if (e.range.getNotes()[0].join('')) {
MailApp.sendEmail(email, editSubject, message);
}
else {
MailApp.sendEmail(email, submitSubject, message);
}
}



catch (error) {
Logger.log(error.toString());
}
}

您可能希望选中此选项,以便在用户响应表单时发送电子邮件

样本请求:

/**
 * Adjust the onFormSubmit trigger based on user's requests.
 */
function adjustFormSubmitTrigger() {
  var form = FormApp.getActiveForm();
  var triggers = ScriptApp.getUserTriggers(form);
  var settings = PropertiesService.getDocumentProperties();
  var triggerNeeded =
      settings.getProperty('creatorNotify') == 'true' ||
      settings.getProperty('respondentNotify') == 'true';