Я создал чат-поток диалогового потока, который собирает дату и время от пользователя, затем я использовал API календаря Google, чтобы использовать эту дату и создать событие в календаре Googe. Теперь мне нужно создать другое событие за день до ввода пользователями
это код, который я использую для установки события
const location = agent.parameters.address;
const appointment_name = agent.parameters.name;
var date1 = agent.parameters.date;
var date2 = (date1()- 1);
const dateTimeStart2 = new Date(Date.parse(date2.split('T')[0] + 'T' + agent.parameters.time.split('T')[1].split('+')[0] + timeZoneOffset));
const dateTimeStart = new Date(Date.parse(agent.parameters.date.split('T')[0] + 'T' + agent.parameters.time.split('T')[1].split('-')[0] + timeZoneOffset));
const dateTimeEnd2 = new Date(new Date(dateTimeStart2).setHours(dateTimeStart2.getHours() + 1));
const appointmentTimeString = dateTimeStart.toLocaleString(
'en-US',
{ month: 'long', day: 'numeric', hour: 'numeric', timeZone: timeZone }
);
function createCalendarEvent (dateTimeStart, dateTimeEnd, appointment_name, location) {
return new Promise((resolve, reject) => {
calendar.events.list({
auth: serviceAccountAuth,
calendarId: calendarId,
timeMin: dateTimeStart.toISOString(),
timeMax: dateTimeEnd.toISOString()
}, (err, calendarResponse) => {
if (err || calendarResponse.data.items.length > 0) {
reject(err || new Error('Requested time conflicts with another appointment'));
} else {
calendar.events.insert({ auth: serviceAccountAuth,
calendarId: calendarId,
resource: {
'summary': appointment_name ,
'description': location,
'start': {
'dateTime': dateTimeStart,
},
'end': {
'dateTime': dateTimeEnd,
},
} ,
}, (err, event) => {
err ? reject(err) : resolve(event);
}
);
}
});
});