【发布时间】:2020-05-11 15:31:33
【问题描述】:
我正在使用谷歌 API 在谷歌日历中创建一些事件。我需要从用户输入中获取日期和时间。这可能是我的逻辑问题,但我无法弄清楚。这是我的代码:
var dateTime;
app.post('/', function (req, res) {
res.render('index');
var date = req.body.date; //I get date from user
var time = req.body.time; // I get time from user
dateTime = date +'T'+ time+":00"; //trying to create the RFC3339 fromat
console.log("date time: ",dateTime);
createEvents(jwtClient);
});
var event = {
'start': {
'dateTime': dateTime,
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': '2020-06-12T12:00:00',
'timeZone': 'America/Los_Angeles',
},
'conferenceData': {
'createRequest': {
'conferenceSolutionKey': {
'type': 'hangoutsMeet'
},
'requestId': 'iyfuted65e3ers'
}
},
'attendees': [
{'email': 'test@test.com'},
{'email': 'jhfk@test.com'},
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
},
};
//Create Appointment
function createEvents(auth) {
const calendar = google.calendar({ version: 'v3', auth });
calendar.events.insert({
calendarId: 'primary',
conferenceDataVersion: 1,
resource: event,
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err);
else {
result = res.data.hangoutLink;
console.log(result," start date: ", event.start.dateTime);
}
});
}
当我在我的帖子部分打印 dateTime 时,它是用户输入的正确日期,但它在事件变量中无法识别它。我收到此错误消息:
错误:开始时间和结束时间必须要么都是日期,要么都是日期时间。
我还有一个问题,如何添加一个小时作为开始时间并将其用作结束时间?
You can see the text fields that user can enter the date and time here
【问题讨论】:
标签: javascript datetime google-calendar-api