Google apps script 无法将Google工作表推送到日历

Google apps script 无法将Google工作表推送到日历,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我很难让这个代码正常工作。我学了很多,但我是个初学者 以下是脚本: //将新事件推送到日历函数pushToCalendar{ //电子表格变量 var sheet=电子表格app.getActiveSheet; var范围=表。getRange1,1,5,25; var值=range.getValues //calendar variables var calendar = CalendarApp.getCalendarById('xxxx') var numValues = 0;

我很难让这个代码正常工作。我学了很多,但我是个初学者

以下是脚本:

//将新事件推送到日历函数pushToCalendar{ //电子表格变量 var sheet=电子表格app.getActiveSheet; var范围=表。getRange1,1,5,25; var值=range.getValues

//calendar variables   
var calendar = CalendarApp.getCalendarById('xxxx')

var numValues = 0;   for (var i = 0; i < values.length; i++) {     
//check to see if name and type are filled out - date is left off because length is "undefined"
if ((values[i][0].length > 0) && (values[i][2].length > 0)) {

  //check if it's been entered before          
  if (values[i][16]!= 'y') {                       

    //create event https://developers.google.com/apps-script/class_calendarapp#createEvent
    var newEventTitle = 'values[i][1]' + ' ' + values[i][15] + ' - ' + values[i][3] + ' - ' + values[i][10] + ' Driver: Needed';
    var newEvent = calendar.createAllDayEvent(newEventTitle, values[i][8]);

    //get ID
    var newEventId = newEvent.getId();

    //mark as entered, enter ID
    sheet.getRange(i+2,16).setValue('y');
    sheet.getRange(i+2,17).setValue(newEventId);

  } //could edit here with an else statement
}
numValues++;   }
这里有一个到假人的链接:


代码中几乎没有错误:

1//将新事件推送到日历函数pushToCalendar中。由于您在注释中包含了函数语句,所以整个语句都被注释掉了

For循环应该从i=1开始。这是因为,当取i=0时,这被称为列的名称行

sheet.getRangei+2,16应更改为sheet.getRangei+1,16

在var值中=range.sheet.getRange1,1,sheet.getLastRow,25.getValues; 代码如下:

 function pushToCalendar() { 
  //spreadsheet variables
 var sheet = SpreadsheetApp.getActiveSheet();
 var range = sheet.getRange(1,1,5,25);
 var values = range.getValues();

 Logger.log(values.length);

 //calendar variables   
   var calendar = CalendarApp.getCalendarById('your calendar ID')

    var numValues = 0;   

   for (var i = 1; i < values.length; i++) {     

     var check = values[i][0];
  //check to see if name and type are filled out - date is left off because length is     "undefined"
     if ((values[i][0]) && (values[i][2].length > 0)) {

     //check if it's been entered before          
     if (values[i][16]!= 'y') {                       

     //create event https://developers.google.com/apps  script/class_calendarapp#createEvent
     var newEventTitle = 'values[i][1]' + ' ' + values[i][15] + ' - ' + values[i][3] + '     - ' + values[i][10] + ' Driver: Needed';
     Logger.log(i);

     Logger.log(values[i][8]);

     var newEvent = calendar.createAllDayEvent(newEventTitle, values[i][8]);

      //get ID
     var newEventId = newEvent.getId();

     //mark as entered, enter ID
    sheet.getRange(i+1,16).setValue('y');
    sheet.getRange(i+1,17).setValue(newEventId);

} //could edit here with an else statement
}
 }
}

我尝试了上述代码,并能够在我的日历中创建活动。如果您有任何问题,请告诉我

谢谢-在您的帮助下,我能够使其正常工作!非常感谢!