我有一个脚本,可以从工作表更新日历。 是否可以获取如果不存在的事件我将添加到日历中的事件的eventID?
要创建的事件的ID(标题,开始,停止)
然后我可以对照现有事件的eventID进行检查,并添加,如果还不存在的话。 我认为,这比在添加新属性或继续
之前检查现有事件以匹配所有属性要快得多答案 0 :(得分:0)
我不认为ID像您认为的那样工作(就像其中的某种信息哈希一样)。您可以检查想要的标题的日期吗?我认为就足够了。
这是一个使您入门的脚本,它会在接下来的20天内查找“样本会议”的下一次出现。您可以轻松地将范围缩小到一天,然后添加一个“ else”来创建新会议。
function insertItem() {
var fromDate = new Date(); //This is Today
var toDate = new Date();
toDate.setDate(toDate.getDate()+20);
Logger.log("From "+fromDate+" to "+toDate);
var calendar = CalendarApp.getDefaultCalendar();
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++)
{
var ev = events[i];
var title = calendar.getEventSeriesById(ev.getId()).getTitle();
if (title.indexOf("Sample Meeting")>-1){
var start = ev.getStartTime();
Logger.log("Found Team Meeting");
var id = ev.getId();
var date = ev.getStartTime();
var desc = ev.getDescription();
return;
}
}
}
答案 1 :(得分:0)
可以完成,但是需要一些工作。
默认情况下,事件ID是自动生成的。 However, you can generate custom ids for an event as long as they conform to Google's format requirements。因此,您必须自己管理这些事件ID的生成。
您将必须确保ID是唯一的,因此您可能希望将其基于与事件相关的输入的组合。
一旦您有了某种生成唯一ID的方法,就可以使用它直接通过ID获取事件,但是您必须使用Advanced Calendar Service(内置服务不允许按事件ID查找事件,但确实允许通过iCalUID查找。)