在 Google 日历中创建一个 "free" 事件(而不是默认的 "busy")

create a "free" event in Google Calendar (instead of the default "busy")

我正在使用以下脚本从 google sheet 上的日期列表创建日历事件。

function CreateEvent() {

  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var calendarId = spreadsheet.getRange('E4').getValue();
  var eventCal = CalendarApp.getCalendarById(calendarId);
  //var signups = spreadsheet.getRange("A8:C12").getValues();
  var lr = spreadsheet.getLastRow();
  var count = spreadsheet.getRange("A8:F"+lr+"").getValues();

  for (x=0; x<count.length; x++) {

      var shift = count[x];
      var summary = shift[0];
      var startTime = shift[1];
      var endTime = shift[2];
      var guests = shift[3];
      //var description = shift[4];
      //var location = shift[5];

      var myEvent = eventCal.createEvent(summary, startTime, endTime, {transparency: 'transparent'});
      var myEventId = myEvent.getId();
      var myEventId = myEventId.slice(0,myEventId.length-11);

      spreadsheet.getRange("F8").offset(x, 0).setValue(myEventId);

      //makeEventFree(calendarId, myEventId);

  }
}

我正在尝试创建这些可用可用性 "free" 而不是 "busy" 的事件,或者在创建后将事件更改为 "free"。
以下提案不再适用:

有什么想法或建议吗?

您似乎需要访问日历 api(在应用脚本中的特殊服务下)。通过特殊服务访问事件后,您的代码应该与共享示例中列出的代码非常相似。

var changes = {
    transparency: "transparent"
  };
// This is the point where the api is accessed and your changes submitted.
Calendar.Events.patch(changes,calendarId,eventId);