如何使用跨多天的Google Apps脚本创建AllDay事件并显示为单个栏

时间:2013-12-29 19:22:03

标签: google-apps-script google-calendar-api

我有一个脚本,可以获取Google工作表的事件信息,并将它们添加到指定的Google日历中。到目前为止一切正常,除非我尝试创建一个跨越多天的全天活动。我正在与之抗争的情景是度假。如果我手动创建事件,我可以选择“全天”并设置两个不同日期的开始和结束日期。注意,不使用“重复...”。视觉上该事件跨越指定的日期。这就是我想用我的脚本复制的内容。

据我所知,API仅提供:

calendar.createEvent(title, startTime, endTime)

创建一个跨越几天的非全天事件,但它显示的开始时间不是我想要的。该活动是真正的全天活动。

calendar.createAllDayEvent(title, date)

仅创建一天的全天活动。

似乎缺少的是

calendar.createAllDayEvent(title, startDate, endDate)

这里讨论的是https://code.google.com/p/google-apps-script-issues/issues/detail?id=952,但问题没有任何重大变化。

此处讨论了可能的解决方法:How to create two days AllDay Event with Google Apps Script?。问题是创建看起来像多个单日全天活动。我希望多天出现多天。

有没有人找到其他工作?

1 个答案:

答案 0 :(得分:7)

你可以使用createEventFromDescription(),它适用于" n"整天。

 var start = Utilities.formatDate(new Date(date_from), "GMT"-0500, "MM-dd-yyyy");
 var end = Utilities.formatDate(new Date(date_to), "GMT"-0500, "MM-dd-yyyy");
 var vacationCalendar = CalendarApp.getCalendarById(CALENDAR_ID);
 vacationCalendar.createEventFromDescription(title+" "+start+"-"+end);