'trying to change all new calendar events to busy(opaque) and default calendar view

I have appcript the uses google calendar I was able to easily figure out how to update calendar events to default calendar visibility; however, I am having a tough time making sure all my events are set to busy(opaque) on my calendar on occasion people set an event as free and it causing me trouble with double bookings. I am using google calendar api my function is below. I am a novice. function


  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet1");
  var ssId = ss.getId();
  var sheetId = ss.getActiveSheet().getSheetId();

  var start_time = new Date();
  var end_time =new Date(new Date(start_time.getTime() + 120 * 1000 * 60 * 60 * 24)) ;
  var id_cal = sheet.getRange("C2").getValue();

  var cal = CalendarApp.getCalendarById(id_cal);
    var events = cal.getEvents(new Date(start_time), new Date(end_time));

  for (var i = 0;i<events.length;i++){
    

    
    
    var vis = events[i].getVisibility();

    if (vis != CalendarApp.Visibility.DEFAULT) {
var setvis = events[i].setVisibility(CalendarApp.Visibility.DEFAULT); 
var splitid = events[i].getId().split("@")[0];
var freebusy = {transparency: "opaque",
  };
var setbusy = Calendar.Events.patch(freebusy, id_cal,splitid);
var title =  events[i].getTitle();
var data = [title];
var lastupdate = new Date();
  sheet.insertRows(5, 1);
  sheet.getRange(5, 1, 1, 1).setValues([data]);

    }

  


  }


  Logger.log("Events have been added to the Spreadsheet");
  Logger.log("Filter has been added.");
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source