onFormSubmit和计时器程序安装附加组件

时间:2018-01-24 01:45:39

标签: google-apps-script

我正在努力在附加组件中安装定时脚本和onFormSubmit脚本。我似乎无法让他们工作。如果没有发布,我不能测试它。每次我发布它都需要数天到数周才能继续前进。任何和所有帮助将在下面得到赞赏。

function createTimeDrivenTriggers() {
  var p = PropertiesService.getDocumentProperties();
  var t = p.getProperty("timetrigger");
  var authInfo =ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
  // Loop over all triggers.
  var allTriggers = ScriptApp.getProjectTriggers();
  for (var i = 0; i < allTriggers.length; i++) {
    // If the current trigger is the correct one, delete it.
    if (allTriggers[i].getUniqueId() == t) {
      ScriptApp.deleteTrigger(allTriggers[i]);
      break;
    }
  }
  var trig = ScriptApp.newTrigger('checkAllInviteStatus').timeBased().everyHours(1).create();
   p.setProperty("timetrigger", trig.getUniqueId());
}

function createFormSubmitTrigger(e){
  var p = PropertiesService.getDocumentProperties();
  var form = FormApp.openById(e);
  var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
  var t = ScriptApp.newTrigger('checkAllInviteStatus').forForm(form).onFormSubmit().create();
  p.setProperty("form"+e, t.getUniqueId());
}

function openSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('Page').setTitle('AutoInvite').setWidth(370);
  SpreadsheetApp.getUi().showSidebar(html);
  createTimeDrivenTriggers();
}

function formcreate(dateTime){
    var form = FormApp.create(dateTime.EventTitle);

    dateTime.EditFormID = form.getEditUrl();

    dateTime.PublishFormID= form.getPublishedUrl();
    var item = form.addTextItem();
    item.setTitle(dateTime.EmailItem);

    form.setDestination(FormApp.DestinationType.SPREADSHEET, sheetid);
    form.setDescription(dateTime.Description);  
    SpreadsheetApp.flush();

    //Attach the form responses to the spreadsheet
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    sheets[0].setName(dateTime.EventTitle + ' Responses')
    var f = form.getId();
    createFormSubmitTrigger(f);
}

0 个答案:

没有答案