Google apps script 将议程项目从google工作表发送到google日历后出错

Google apps script 将议程项目从google工作表发送到google日历后出错,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我有以下问题,我想用一个脚本从谷歌表单中创建新的议程项目,它会一直工作到我达到一个极限?!。(今天,在问题发生之前,我已经做了350次。) 我得到以下信息; “异常:您在短时间内创建或删除了太多日历或日历事件。请稍后再试。” 如果我等几个小时,我可以多做几个小时。然后错误又回来了 减慢脚本速度不起作用。(公用设施.睡眠(300);) 代码如下: function UpdateAgenda() { var spreadsheet = SpreadsheetApp.getActiveSheet(

我有以下问题,我想用一个脚本从谷歌表单中创建新的议程项目,它会一直工作到我达到一个极限?!。(今天,在问题发生之前,我已经做了350次。)

我得到以下信息; “异常:您在短时间内创建或删除了太多日历或日历事件。请稍后再试。” 如果我等几个小时,我可以多做几个小时。然后错误又回来了

减慢脚本速度不起作用。(公用设施.睡眠(300);) 代码如下:

function UpdateAgenda() {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var Range = "B8";
  var activeDay =   spreadsheet.getRange(Range).getValue(); //ActiveSheet
  var Range = "E7";
  var DriverMorning =   spreadsheet.getRange(Range).getValue();  
  var Range = "F7";
  var DriverAfternoon =   spreadsheet.getRange(Range).getValue(); 
  var Range = "E3";
  var SendAgendaMorning =   spreadsheet.getRange(Range).getValue(); 
  var Range = "F3";
  var SendAgendaAfternoon =   spreadsheet.getRange(Range).getValue(); 
  var Range = "H3";
  var SendAgendaEvening =   spreadsheet.getRange(Range).getValue(); 
   var Range = "E4";
  var SendMailMorning =   spreadsheet.getRange(Range).getValue(); 
  var Range = "F4";
  var SendMailAfternoon =   spreadsheet.getRange(Range).getValue(); 
  var Range = "H4";
  var SendMailEvening =   spreadsheet.getRange(Range).getValue(); 



  var NoDriver = "false";
  var NoDriverMorning = "false";
  var NoDriverAfternoon = "false";

  if (activeDay == "Maandag" || activeDay == "Dinsdag" || activeDay == "Woensdag" || activeDay == "Donderdag" || activeDay == "Vrijdag" || activeDay == "Zaterdag" || activeDay == "Zondag"){ //Check for weekday
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var  Name = "AgendaData"+activeDay+"Ochtend"
  var AgendaOchtend = ss.getSheetByName(Name); //Bijbehorende Agenda's Ochtend
    var  Name = "AgendaData"+activeDay+"Middag"
  var AgendaMiddag = ss.getSheetByName(Name); //Bijbehorende Agenda's Middag
    var  Name = "AgendaData"+activeDay+"Avond"
  var AgendaAvond = ss.getSheetByName(Name); //Bijbehorende Agenda's Avond

    //Check if the agenda is already send
      var Range = "A1";
  var AgendaSend =   spreadsheet.getRange(Range).getValue(); //ActiveSheet


    if (AgendaSend == "Agenda is verstuurd"){ 

    //Show warning is Agenda is already send


  var ui = SpreadsheetApp.getUi(); // Same variations.

  var UpdateAgendaOpnieuw = ui.alert(
     'De agenda is al eens verstuurd.',
     'Weet u het zeker dat u door wilt gaan, het risico bestaad op dubbele agenda Items?',
      ui.ButtonSet.YES_NO);

  // Process the user's response.
  if (UpdateAgendaOpnieuw == ui.Button.YES) {
     SpreadsheetApp.getActiveSheet().getRange("A1").setValue("");
    AgendaSend = "False";
    ui.alert('Ok, de agenda word geupdate');
  } else {
    // User clicked "No" or X in the title bar.
    ui.alert('Handeling afgebroken');
  }

    }

        //Check if the moring and afternoon driver is filled in
    if (DriverMorning == "Geen Dienst"){  
    var NoDriverMorning = "true";
   ui = SpreadsheetApp.getUi(); // Same variations.

  var NoDriverMorning = ui.alert(
     'Er is geen chaffeur in de ochtend dienst ingevuld.',
     'Wilt u desondanks toch de rit versturen?',
      ui.ButtonSet.YES_NO);

  // Process the user's response.
  if (NoDriverMorning == ui.Button.YES) {
     SpreadsheetApp.getActiveSheet().getRange("A1").setValue("");
    ui.alert('Ok, de ritten worden verzonden');
     var NoDriverMorning = "false";
  } else {
    // User clicked "No" or X in the title bar.
    ui.alert('Handeling afgebroken');
  }

    }


            //Check if the moring and afternoon driver is filled in
    if (DriverAfternoon == "Geen Dienst"){  
     var NoDriverAfternoon = "true";
   ui = SpreadsheetApp.getUi(); // Same variations.

  var DriverAfternoon = ui.alert(
     'Er is geen chaffeur in de middagdienst ingevuld.',
     'Wilt u desondanks toch de rit versturen?',
      ui.ButtonSet.YES_NO);

  // Process the user's response.
  if (DriverAfternoon == ui.Button.YES) {
     SpreadsheetApp.getActiveSheet().getRange("A1").setValue("");
    ui.alert('Ok, de ritten worden verzonden');
     var NoDriverAfternoon = "false";
  } else {
    // User clicked "No" or X in the title bar.
    ui.alert('Handeling afgebroken');
  }

    }


    //Check for driver
    if (NoDriverMorning == "false" && NoDriverAfternoon == "false" ) {






    if (AgendaSend != "Agenda is verstuurd"){
      // 


   /////////////////////////////////////////Ochtend/////////////////////////////////////////////   
  var data = "";
  var RangeOchtendClean =new Array();
  var offset = 0; 
  range = "A2:AB";
  var RangeOchtend = AgendaOchtend.getRange(range);
  var v1 = RangeOchtend.getValues();
  for(var i = 0; i < v1.length; i++)  {
      if (v1[i][7] === "Rit Gevonden") {
     RangeOchtendClean[offset] = v1[i];
        offset = offset +1; // move offset by one if there is data.
      }
  }
      if (RangeOchtendClean.length != 0){
    //Send the data to calender.
     for(var i = 0; i < RangeOchtendClean.length; i++)  {
       //if (i % 10 == 0) { Utilities.sleep(3000); }//Sleep to prefent tomuch data in time
      Utilities.sleep(300);
       var shift = RangeOchtendClean[i];
      var NaamKlant = shift[0];
      var StartTijd = shift[1];
      var StopTijd = shift[2];
      var Genodigden = shift[3];
      var Uitnodiging = shift[4];
      var Omschrijving = shift[5]; 
      var Locatie = shift[6]; 
      var Driver = shift[24];
      var calendarId =shift[25];

      var event = {
          'location': Locatie,
          'description': Omschrijving,
          'guests':Driver +',',
          'sendInvites': Uitnodiging,
}

      var eventCal = CalendarApp.getCalendarById(calendarId);
   if (Genodigden != "Geen Dienst"){
     if (SendAgendaMorning == "Ja"){
   eventCal.createEvent(NaamKlant, StartTijd, StopTijd, event) 
     }}} 
    var subject = RangeOchtendClean[0][22] + " Ochtend";
     for(var i = 0; i < RangeOchtendClean.length; i++)  {
      data = data + RangeOchtendClean[i][23];   
     }
     //   data = data + "Link naar Calender = " + RangeOchtendClean[(i - 1)][26] ; //Alles moet dan op public staan. Dus de gegevens van de mensen komen dan op straat. Dit staat alleen nog op Maandag ochtend goed. Op alle sheets nog aanpassen

    var emailAddress = Driver; // First column
    var message = data ; // Second column
   if (Genodigden != "Geen Dienst"){ 
     if (SendMailMorning == "Ja"){
  MailApp.sendEmail(emailAddress, subject, message);
     }}}


//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Ochtend\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\





    /////////////////////////////////////////Middag/////////////////////////////////////////////   
  var data = "";
  var RangeMiddagClean =new Array();
  var offset = 0; 
  range = "A2:AB";
  var RangeMiddag = AgendaMiddag.getRange(range);
  var v1 = RangeMiddag.getValues();
  for(var i = 0; i < v1.length; i++)  {
      if (v1[i][7] === "Rit Gevonden") {
     RangeMiddagClean[offset] = v1[i];
        offset = offset +1; // move offset by one if there is data.
      }
  }
      if (RangeMiddagClean.length != 0){
    //Send the data to calender.
     for(var i = 0; i < RangeMiddagClean.length; i++)  {
    //    if (i % 10 == 0) { Utilities.sleep(3000); }//Sleep to prefent tomuch data in time
     Utilities.sleep(300);
       var shift = RangeMiddagClean[i];
      var NaamKlant = shift[0];
      var StartTijd = shift[1];
      var StopTijd = shift[2];
      var Genodigden = shift[3];
      var Uitnodiging = shift[4];
      var Omschrijving = shift[5]; 
      var Locatie = shift[6]; 
      var Driver = shift[24];
      var calendarId =shift[25];

      var event = {
          'location': Locatie,
          'description': Omschrijving,
          'guests':Driver +',',
          'sendInvites': Uitnodiging,
}

      var eventCal = CalendarApp.getCalendarById(calendarId);
   if (Genodigden != "Geen Dienst"){
     if (SendAgendaAfternoon == "Ja"){
   eventCal.createEvent(NaamKlant, StartTijd, StopTijd, event) 
     }}} 
    var subject = RangeMiddagClean[0][22]+ " Middag";
     for(var i = 0; i < RangeMiddagClean.length; i++)  {
      data = data + RangeMiddagClean[i][23];   
     }
    var emailAddress = Driver; // First column
    var message = data; // Second column
   if (Genodigden != "Geen Dienst"){ 
     if (SendMailAfternoon == "Ja"){
  MailApp.sendEmail(emailAddress, subject, message);
     }}}
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Middag\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\





   /////////////////////////////////////////Avond/////////////////////////////////////////////   
   var data = "";
  var RangeAvondClean =new Array();
  var offset = 0; 
  range = "A2:AB";
  var RangeAvond = AgendaAvond.getRange(range);
  var v1 = RangeAvond.getValues();
  for(var i = 0; i < v1.length; i++)  {
      if (v1[i][7] === "Rit Gevonden") {
     RangeAvondClean[offset] = v1[i];
        offset = offset +1; // move offset by one if there is data.
      }
  }
      if (RangeAvondClean.length != 0){
    //Send the data to calender.
     for(var i = 0; i < RangeAvondClean.length; i++)  {
    //    if (i % 10 == 0) { Utilities.sleep(3000); }//Sleep to prefent tomuch data in time
   Utilities.sleep(300);
       var shift = RangeAvondClean[i];
      var NaamKlant = shift[0];
      var StartTijd = shift[1];
      var StopTijd = shift[2];
      var Genodigden = shift[3];
      var Uitnodiging = shift[4];
      var Omschrijving = shift[5]; 
      var Locatie = shift[6]; 
      var Driver = shift[24];
      var calendarId =shift[25];
      var event = {
          'location': Locatie,
          'description': Omschrijving,
          'guests':Driver +',',
          'sendInvites': Uitnodiging,
}

      var eventCal = CalendarApp.getCalendarById(calendarId);
   if (Genodigden != "Geen Dienst"){
     if (SendAgendaEvening == "Ja"){
   eventCal.createEvent(NaamKlant, StartTijd, StopTijd, event) 
     }}} 
    var subject = RangeAvondClean[0][22] + " Avond";
     for(var i = 0; i < RangeAvondClean.length; i++)  {
      data = data + RangeAvondClean[i][23];   
     }
    var emailAddress = Driver; // First column
    var message = data; // Second column
   if (Genodigden != "Geen Dienst"){ 
     if (SendMailEvening == "Ja"){
  MailApp.sendEmail(emailAddress, subject, message);
     }}}
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Avond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\







    SpreadsheetApp.getActiveSheet().getRange("A1").setValue("Agenda is verstuurd");
  //  SpreadsheetApp.getActiveSheet().getRange("A1").setbackgroundcolor("#ff9900") // #ff9900 is default
    }
    }

    }



   }
函数UpdateAgenda(){
var电子表格=SpreadsheetApp.getActiveSheet();
var Range=“B8”;
var activeDay=spreadsheet.getRange(Range.getValue();//ActiveSheet
var Range=“E7”;
var DriverMorning=spreadsheet.getRange(Range).getValue();
var Range=“F7”;
var DriverAfternoon=电子表格.getRange(Range).getValue();
var Range=“E3”;
var SendAgendaMorning=电子表格.getRange(Range).getValue();
var Range=“F3”;
var sendagendadetaily=电子表格.getRange(Range).getValue();
var Range=“H3”;
var SendAgendaEvening=电子表格.getRange(Range).getValue();
var Range=“E4”;
var SendMailMorning=电子表格.getRange(Range).getValue();
var Range=“F4”;
var sendmaildetaily=spreadsheet.getRange(Range.getValue();
var Range=“H4”;
var sendmailnight=电子表格.getRange(Range).getValue();
var NoDriver=“false”;
var NoDriverMorning=“false”;
var nodriver=“false”;
如果(activeDay==“Maandag”| | activeDay==“Dinsdag”| | activeDay==“Woensdag”| | activeDay==“Donderdag”| | activeDay==“Vrijdag”| activeDay==“Zaterdag”| activeDay==“Zondag”){//检查工作日
var ss=SpreadsheetApp.getActiveSpreadsheet();
var Name=“AgendaData”+activeDay+“Ochtend”
var AgendaOchtend=ss.getSheetByName(Name);//Bijbehorende议程的Ochtend
var Name=“AgendaData”+activeDay+“Middag”
var AgendaMiddag=ss.getSheetByName(Name);//Bijbehorende议程的Middag
var Name=“AgendaData”+activeDay+“Avond”
var AgendaAvond=ss.getSheetByName(Name);//Bijbehorende议程的Avond
//检查议程是否已发送
var Range=“A1”;
var AgendaSend=spreadsheet.getRange(Range).getValue();//ActiveSheet
如果(AgendaSend==“议程为verstuurd”){
//显示警告:议程已发送
var ui=SpreadsheetApp.getUi();//相同的变体。
var UpdateAgendaOpnieuw=ui.alert(
“议程是阿尔·伊恩斯·弗斯图德。”,
“你是不是在讨论什么议程项目?”,
ui.按钮集。是\否);
//处理用户的响应。
if(UpdateAgendaOpnieuw==ui.Button.YES){
SpreadsheetApp.getActiveSheet().getRange(“A1”).setValue(“”);
AgendaSend=“False”;
ui.alert('确定,取消议程单词geupdate');
}否则{
//用户单击标题栏中的“否”或X。
ui.alert(‘用手抓破’);
}
}
//检查是否填写了上午和下午的驾驶员
如果(驾驶员驾驶==“Geen Dienst”){
var NoDriverMorning=“true”;
ui=SpreadsheetApp.getUi();//相同的变体。
var NoDriverMorning=ui.alert(
“呃,这是在奥克坦德·丁恩斯特·英格沃尔德的根·查弗尔。”,
“你愿意把你的名字改成中文吗?”,
ui.按钮集。是\否);
//处理用户的响应。
if(NoDriverMorning==ui.Button.YES){
SpreadsheetApp.getActiveSheet().getRange(“A1”).setValue(“”);
ui.alert('Ok,de-Writed worden verzonden');
var NoDriverMorning=“false”;
}否则{
//用户单击标题栏中的“否”或X。
ui.alert(‘用手抓破’);
}
}
//检查是否填写了上午和下午的驾驶员
如果(DriverAfternoon==“Geen Dienst”){
var nodriverneury=“true”;
ui=SpreadsheetApp.getUi();//相同的变体。
var DriverAfternoon=ui.alert(
“呃,那是在英格沃尔德的吉恩·查弗尔。”,
“你愿意把你的名字改成中文吗?”,
ui.按钮集。是\否);
//处理用户的响应。
if(DriverAfternoon==ui.Button.YES){
SpreadsheetApp.getActiveSheet().getRange(“A1”).setValue(“”);
ui.alert('Ok,de-Writed worden verzonden');
var nodriver=“false”;
}否则{
//用户单击标题栏中的“否”或X。
ui.alert(‘用手抓破’);
}
}
//检查司机
if(NoDriverMorning==“false”&&nodriver午后==“false”){
if(AgendaSend!=“议程为verstuurd”){
// 
/////////////////////////////////////////Ochtend//////////////////////
var数据=”;
var RangeOchtendClean=新数组();
var偏移=0;
range=“A2:AB”;
var RangeOchtend=AgendaOchtend.getRange(范围);
var v1=rangeOchTrend.getValues();
对于(变量i=0;i