作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个 Google Apps 脚本,它将保存在电子表格中的事件添加到 Google 日历中。每个事件都存储日历事件的 ID,以便在电子表格中的事件被修改时更新它。该事件仍然可以在日历中手动删除,因此我希望脚本能够检测到这一点并重新创建该事件。不幸的是,我不能简单地检查 null
调用getEventById(...)
时在 calendar
对象,因为即使被删除,这个函数似乎返回一个有效的 calendar
目的。
CalendarEvent
API 文档似乎没有指出一种方法来检查事件是否已通过 UI/手动删除。有没有办法通过 Google Apps API 访问这个属性?
即使永久删除已删除的事件也不能解决问题,尽管它会阻止对返回的 event
进行修改目的。
我可以用什么来检查事件(仍然存在)是否已被“删除”?我能想到的唯一可能有用的是get/setTag()
CalendarEvent
的方法目的。
或者,this问题看起来很相似,但感觉应该有比搜索已删除事件列表更好的方法,而且我不确定这会解决让 ID 字符串返回已“永久”删除的有效事件的问题。
例子
var calendarId = "abc123@group.calendar.google.com"
var calendar = CalendarApp.getCalendarById(calendarId);
var event = calendar.createEvent(...);
// Event is then deleted manually in calendar but
// ID has been saved in spreadsheet (or elsewhere)
if (calendar.getEventById("the-deleted-event-id") == null) {
// Create the event (This is never reached)
} else {
// Update the event
}
最佳答案
我花了很长时间解决这个问题,但我无法理解为什么没有更好的方法可以直接通过 CalendarApp 来解决它。
你需要的是这样的:
var eventId = "5qif5n15v46c0jt5gq20a39dqu@google.com".split("@")[0];
if(Calendar.Events.get("yourCalendarId", eventId).status === "cancelled")
CODE://what to do if event was deleted (manually)
关于javascript - Google Apps 脚本 : How to check if a calendar event has been marked as deleted manually,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48122824/
我是一名优秀的程序员,十分优秀!