Alexa B.
Alexa B.

Reputation: 3

Google Script for adding events from Sheets to Calendar not working

I have the following code for adding Calendar events from Google Sheets, but it is not working. It is not showing any errors or anything, just that it is not updating the Calendar. Any ideas what I might have done wrong? I tried without the "new Date" on the Start and End dates as well.

function addEvent() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var calendar = ss.getSheetByName("Calendar");
var eventCal = CalendarApp.getCalendarsByName("Test");

var lr = calendar.getLastRow();
var data = calendar.getRange("A2:D"+lr).getValues();
for (i=0; i<data.lenght; i++){
  var taskTitle = data[i][0];
  var taskDesc = data[i][1];
  var startDate = new Date(data[i][2]);
  var endDate = new Date(data[i][3]);
  //Browser.msgBox('SPX'+':'+taskTitle+':'+startDate+':'+endDate+':'+taskDesc, Browser.Buttons.OK_CANCEL);
  eventCal.createEvent(taskTitle,startDate,endDate,{description: taskDesc});  
}

}

Here is the sheet I am using.

Title Description Start Date End Date
Test Test 3/27/2021 13:00:00 3/27/2021 14:00:00
Test 1 Test 2 3/24/2021 13:00:00 3/24/2021 18:00:00

Upvotes: 0

Views: 69

Answers (1)

Cooper
Cooper

Reputation: 64042

So this might be a good starting point to begin debugging again.

function addEvent() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var calendar = ss.getSheetByName("Calendar");
  var eventCal = CalendarApp.getCalendarsByName("Test");
  var lr = calendar.getLastRow();
  var data = calendar.getRange("A2:D" + lr).getValues();
  if (eventCal.length) {
    for (i = 0; i < data.lenght; i++) {//length is mispelled
      var taskTitle = data[i][0];
      var taskDesc = data[i][1];
      var startDate = new Date(data[i][2]);
      var endDate = new Date(data[i][3]);
      eventCal[0].createEvent(taskTitle, startDate, endDate, { description: taskDesc });//taking element zero in the array
    }
  }
}

Upvotes: 2

Related Questions