我已创建此脚本:
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 <<<<<--------------
}
}
此脚本运行完美。但是如何添加忙/闲状态?
谢谢
要获取忙/闲状态,您必须查询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