如果 Google 日历时间或日历事件忙,如何 return?

How to return if Google Calendar Time or Calendar Event is Busy?

我正在尝试确定日历在特定时间是否可用。具体来说,当手动创建日历事件时,有一个 busyfree:

的复选框

我想测试日历是否免费。我假设这在日历本身中是 属性,但我在 google calendar classes 中没有看到。 (我一直在寻找 'isBusy' 中的一些 属性。

我的下一步是测试在请求的时间是否有事件,如果有,我又没有看到测试事件设置是否繁忙的方法。有人知道怎么做吗?

这是我拥有的:

function getAvailability(startTime,EndTime){
  var myCalendar = CalendarApp.getDefaultCalendar();

  //sample date to test availability 
  var aDate = new Date(2020,3,19);
  var dayEvents = myCalendar.getEventsForDay(aDate);

  //specific event captured:
  var myEvent = dayEvents[0];
  Logger.log(myEvent.getDescription());
 //here is where I don't know what to do. 
 //How can I return if during this event's time if calendar is free?

}

您需要使用 FreeBusy 对象来检查此详细信息。

这可以通过创建类似于以下内容的查询来完成:

    var check = {
 items: [{id: calendarId, busy: 'Active'}],
 timeMax: "2014-09-09T21:00:31-00:00",
 timeMin: "2014-09-09T17:00:31-00:00"
};

并使用查询:

var response = Calendar.Freebusy.query(check);

获取您要求查看的详细信息。

API 可在此处找到 FreeBusy 的文档:https://developers.google.com/calendar/v3/reference/freebusy