Node.js。 freebusy 查询缺少 timeMin 参数。 Google 日历 API

Node.js. Missing timeMin parameter on freebusy query. Google calendar API

我正在尝试在 Node.js 中使用 google-api-nodejs-client。 freebusy 查询中 timeMin 参数的格式有问题。根据 docs,该值应该是 ISO 格式的时间日期。我试过了,但我得到了一个错误。在 event.list 方法中,ISO 格式字符串工作正常。

查询freebusy代码:

function freeBusyStatus (auth, calendarId) {
    const startDate = new Date('20 February 2018 12:00').toISOString()
    const endDate = new Date('20 February 2018 13:00').toISOString()
    const check = {
        auth: auth,
        // timeMin: '2018-02-20T12:00:00+03:00', //not working with same format too
        timeMin: new Date('20 February 2018 12:00'),
        timeMax: endDate,
        items: [{id: calendarId}]
    }
    calendar.freebusy.query (check, function (err, response) {
        if (err) {
            console.log ('error: ' + err)
        } else {
            ..some code..
        }
    })
}

代码 events.list 日期采用 ISO 格式。此代码有效:

function listEvents(auth, calendarId) {
    const eventList = {
        auth: auth,
        calendarId: calendarId,
        timeMin: new Date('20 February 2018 12:00').toISOString(),
        maxResults: 10,
        singleEvents: true,
        orderBy: 'startTime'
    }
    calendar.events.list(eventList, function(err, response) {
        if(err) {
            console.log(err)
        }
    const events = response.data.items
        if (events.length != 0) { 
            ..some code..
        }
    })
}

我认为问题出在日期格式上。当我尝试发送日期为 2018-02-20(没有时间)的请求时,响应具有相同的错误 Error: Missing timeMin parameter.

我做错了什么?使用 JWT 完成授权。

完成!我的错误是请求的结构

function freeBusyStatus (auth, calendarId) {
    const check = {
        auth: auth,
        resource: {
            timeMin: startDate,
            timeMax: endDate,
            items: [{id: calendarId}]
        }
    }
    const startDate = new Date('20 February 2018 12:00').toISOString()
    const endDate = new Date('20 February 2018 13:00').toISOString()
    calendar.freebusy.query (check, function (err, response) {
        if (err) {
            console.log ('error: ' + err)
        } else {
            ..some code..
        }
    })
}