如何从我的Google日历中导出忙/闲状态

问题描述 投票:0回答:1

我已创建此脚本:

function myCalendar(){

  var now=new Date();
  
  var startpoint=new Date(now.getTime()-60*60*24*1000*1);
  var endpoint=new Date(now.getTime()+60*60*24*1000*10);
  
  var events=CalendarApp.getCalendarById("[email protected]").getEvents(startpoint, endpoint);

  var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyScedule");
  
  ss.clear();
  
  for (var i=0;i<events.length;i++) {
         ss.getRange(i+1,1).setValue(events[i].getTitle());
         ss.getRange(i+1,2).setValue(events[i].getDescription());
         ss.getRange(i+1,3).setValue(events[i].getStartTime());
         ss.getRange(i+1,4).setValue(events[i].getEndTime());
         // HERE I WILL ADD THE FREE/BUSY-STATUS <<<<<--------------
  }
}

此脚本运行完美。但是如何添加忙/闲状态?

谢谢

google-calendar-api
1个回答
0
投票

要获取忙/闲状态,您必须查询Calendar API(not calendarApp),然后您将获得所有带有BUSY参数的事件。因此,除非查询返回Busy。否则,您可以将参数默认为Free

这是参数的样子:

"resource": {
    "timeMax": "2020-03-15T03:30:00+05:30",
    "timeMin": "2020-01-01T03:30:00+05:30",
    "calendarExpansionMax": 3,
    "items": [
      {
        "id": "CALENDAR ID"
      }
    ]
  }

这是响应的样子:

 {
   "kind": "calendar#freeBusy",
   "timeMin": "2019-12-31T22:00:00.000Z",
   "timeMax": "2020-03-14T22:00:00.000Z",
   "calendars": {
    "CALENDAR ID": {
     "busy": [
      {
       "start": "2020-01-02T23:00:00Z",
       "end": "2020-01-03T23:00:00Z"
      }
     ]
    }
   }
  }

您可以在这里使用日历进行尝试:Freebusy: query

© www.soinside.com 2019 - 2024. All rights reserved.