我正在尝试创建一个脚本,所以当我在一个谷歌日历中创建一个事件时,它会自动在另一个谷歌日历中复制该事件。我尝试使用下面的代码(使用我自己的代码交换日历ID - 假设我使用完整的ID,例如xyz@group.google等):
function myFunction() {
var calendarSource = CalendarApp.getCalendarById("calendarID");
var calendarDestination = CalendarApp.getCalendarById("calendarID");
var eventToCopy = calendarSource.getEvents(new Date("July 21, 2009 EST"), new Date("July 22, 2009 EST"));
//read up: https://developers.google.com/apps-script/class_recurrence
var newRecurrence = CalendarApp.newRecurrence().addWeeklyRule().times(10);
for (var i in eventToCopy){
if (eventToCopy[i].getTitle() == "event name"){
var newEvent = calendarDestination.createEventSeries(eventToCopy[i].getTitle(), eventToCopy[i].getStartTime(), eventToCopy[i].getEndTime(), newRecurrence);
}
}
但似乎没有发生任何事情。有人给我一个开端吗?我只希望这能够在创建新事件时触发。
答案 0 :(得分:0)
在您发布的代码段中,如果由于行if (eventToCopy[i].getTitle() == "event name"){
,其标题等于“事件名称”,则事件仅会复制到新日历中。源日历中的事件可能没有此标题,因此不会复制任何内容。您应该能够删除此if
条件以获取要复制的所有事件。
function myFunction() {
var calendarSource = CalendarApp.getCalendarById("calendarID");
var calendarDestination = CalendarApp.getCalendarById("calendarID");
var eventToCopy = calendarSource.getEvents(new Date("July 21, 2009 EST"), new Date("July 22, 2009 EST"));
//read up: https://developers.google.com/apps-script/class_recurrence
var newRecurrence = CalendarApp.newRecurrence().addWeeklyRule().times(10);
for (var i in eventToCopy){
var newEvent = calendarDestination.createEventSeries(eventToCopy[i].getTitle(), eventToCopy[i].getStartTime(), eventToCopy[i].getEndTime(), newRecurrence);
}
}