Google calendar api 如何从谷歌日历导出忙/闲状态

Google calendar api 如何从谷歌日历导出忙/闲状态,google-calendar-api,Google Calendar Api,我已创建此脚本: 函数myCalendar(){ var now=新日期(); var startpoint=新日期(now.getTime()-60*60*24*1000*1); var endpoint=newdate(now.getTime()+60*60*24*1000*10); var events=CalendarApp.getCalendarById(“我的。email@google.comgetEvents(起点、终点); var ss=SpreadsheetApp.getAc

我已创建此脚本:

函数myCalendar(){
var now=新日期();
var startpoint=新日期(now.getTime()-60*60*24*1000*1);
var endpoint=newdate(now.getTime()+60*60*24*1000*10);
var events=CalendarApp.getCalendarById(“我的。email@google.comgetEvents(起点、终点);
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“MyScedule”);
ss.clear();

对于(var i=0;i要获取忙/闲状态,您必须查询日历API(非calendarApp),然后使用参数busy获取所有事件。因此,您可以将参数默认为free,除非查询返回busy

以下是参数的外观:

"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"
      }
     ]
    }
   }
  }
这就是反应的样子:

"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:查询的请求和返回。查看如何调用日历API,然后执行以下操作:您可以从日历API中查看Freebusy:query和quickstart on Apps脚本的文档。谢谢您的帮助提示。不,我想我有诀窍。此链接最有帮助:。您知道在哪里可以找到包含所有搜索参数的列表吗?是的,在Feebusy:query->的请求正文中,至少您必须设置timeMin在这个页面的右边,你可以尝试一下,你可以测试不同的参数,看看结果是如何返回的,这就是我在回答中所说的。