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..
}
})
}
我正在尝试在 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..
}
})
}