我正在尝试从node.js中的Google日历删除事件, 这需要删除事件的ID。
我在Google日历文档中找不到任何获取此ID的方法。 有没有一种方法可以使用特定方法获取事件ID?
function deleteEvent(agent) {
console.log('delete event function');
//Check the availability of the time slot and set up an appointment if the time slot is available on the calendar
return getEventId().then(() => {
agent.add(`Got it. the event deleted`);
}).catch(() => {
agent.add(`Sorry`);
});
}
function getEventId(){
console.log("get event id function");
eventId='******';
return deleteCalendarEvent().then(()=>{
console.log('success');
}).catch(()=>{
console.log('fail');
});
}// getEmailsForDepartment
function deleteCalendarEvent(){
return new Promise((resolve, reject) => {
calendar.events.delete({
auth: serviceAccountAuth,
calendarId: calendarId,
eventId:eventId
}, (err, event) => {
err ? reject(err) : resolve(event);
});
});
}
答案 0 :(得分:2)
您可以使用Events: list
列出所有事件。然后按标题,日期或类似内容进行过滤,以获取所需事件的ID。参见https://developers.google.com/calendar/v3/reference/events/list
在浏览器用户界面中,如果单击“疑难解答信息”,则会看到eid。
答案 1 :(得分:1)
首先,您没有指出期望如何知道或弄清楚要删除的事件。
但是,例如,如果请求是“删除5pm事件”,则可以使用Dialogflow @sys.time
实体类型来获取日期和时间,然后使用Calendar API的Events.list方法,指定timeMin
和可能的timeMax
参数以查找匹配的事件。