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
Javascript 为什么新提交会删除google脚本中以前提交的事件?_Javascript_Google Apps Script - Fatal编程技术网

Javascript 为什么新提交会删除google脚本中以前提交的事件?

Javascript 为什么新提交会删除google脚本中以前提交的事件?,javascript,google-apps-script,Javascript,Google Apps Script,第一次提交工作非常好,当第一次提交被编辑时,它将成功删除并在日历中创建新事件;然而: 下一次提交将从上一次提交中删除事件 下一次提交仍将在分配的活动中创建新事件 日历。这是updateCalendar()函数: 因此,将检查日历中的第一个冲突(以防止重复预订),这是功能 // Check for appointment conflicts function getConflicts(request){ var conflicts = request.calendar.getEvents(re

第一次提交工作非常好,当第一次提交被编辑时,它将成功删除并在日历中创建新事件;然而:

  • 下一次提交将从上一次提交中删除事件
  • 下一次提交仍将在分配的活动中创建新事件 日历。这是updateCalendar()函数:
  • 因此,将检查日历中的第一个冲突(以防止重复预订),这是功能

    // Check for appointment conflicts
    function getConflicts(request){
      var conflicts = request.calendar.getEvents(request.date, request.endTime);
      if (conflicts.length > 0) {
        request.status = "conflict";
      } else {
        request.status = "approve"
      }
      };
    
    这是updateCalendar()函数(用于在日历中创建或删除事件的函数)
    函数updateCalendar(请求){
    var sheet=SpreadsheetApp.getActiveSheet();
    var lastRow=sheet.getLastRow();
    var范围=sheet.getRange(2,1,最后一行,13);
    var values=range.getDisplayValues();
    var calendar=CalendarApp.getCalendarById('c_qsk903qma3b8mp5ensa7bvvg4k@group.calendar.google.com');
    var numValues=0;
    获取冲突(请求);
    Logger.log(请求状态);
    对于(var i=0;i输入错误:

    if (request.status = "Approve")
    
    我相信应该是:

    if (request.status == "Approve")
    
    为了安全起见,在这种情况下最好使用
    .toLowerCase()
    方法:

    if (request.status.toLowerCase() == "approve")
    

    而且,也许应该有“批准d”?

    你能解释一下你想做什么吗?让我们准确地再现你的情况?请参阅并感谢您的回复,->我想创建一个日历表单系统,用户可以在其中提交和编辑他们的预订时间->如果在同一时间段内有其他用户想要预订,它将通知用户其日程安排与其他人有冲突(因此为“冲突”状态)->我上传的当前代码将从上一次提交中删除事件并创建新事件(即使状态为“冲突”),你好,Yuri,谢谢你的回答,我已经尝试了你的方法,但下一次提交在创建新事件时仍将删除上一个事件。可能是因为for()循环问题?您是否尝试使用
    ==
    更改
    =
    ?是的,我尝试使用[=]更改[=],但它仍然会从以前提交的内容中删除事件。我也尝试过在getConflicts()函数中将[=]改为[==”(我刚在原始帖子中附加了它。不过我建议您修复问题中的
    =
    。无论如何,这是一个错误。那么,您能否将行
    Logger.log(request.status);
    粘贴到
    getConflicts(request)行之后
    并显示您在日志消息中得到的信息?只是为了确保之前的所有功能都正常工作,并且request.status不总是“Approve”。我已将/=/更改为/==/并且这是在我放置logger.log(request.status);在getConflicts 7:55:02 PM信息冲突之后显示的内容