使用 Google 脚本移动日历事件
Move calendar events with Google scripts
我正在尝试编写一个 Google 脚本,该脚本将从一个日历 (pubCal) 给定时间范围内的所有事件移动到另一个日历 (privCal)。
我不确定为什么,但代码在行中断:"Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);",错误消息:"Not Found (line 18, file "Code")"
这条错误信息是什么意思?
function export_gcal_to_gsheet(){
//pubCall: public calendar
//privCal private calendar
var pubCalId = "addressForPubicCal@group.calendar.google.com";
var privCalId = "addressForPrivateCal@group.calendar.google.com";
var pubCal = CalendarApp.getCalendarById(pubCalId);
//Change date range to move events from pubCal to privCal
var startDate = "January 1, 2018 00:00:00 CST";
var endDate = "January 04, 2018 23:59:59 CST";
// Extract events between certain dates in public calendar.
var events = pubCal.getEvents(new Date(startDate), new Date(endDate));
//Loop through all Calendar events
while (events.length > 0){
var eventToMove = events.shift();
Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);
}
}
下面的修改怎么样?
发件人:
Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);
收件人:
Calendar.Events.move(pubCalId, eventToMove.getId().replace("@google.com", ""), privCalId);
注:
- 检索到的 ID
eventToMove.getId()
是 #####@google.com
。但是用于 Calendar.Events.move()
的 id 是 #####
。因此需要从 #####@google.com
中删除 @google.com
。
- 在你的脚本中,因为找不到
#####@google.com
,所以出现错误。
参考:
如果我误解了你的问题,我很抱歉。
我正在尝试编写一个 Google 脚本,该脚本将从一个日历 (pubCal) 给定时间范围内的所有事件移动到另一个日历 (privCal)。
我不确定为什么,但代码在行中断:"Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);",错误消息:"Not Found (line 18, file "Code")"
这条错误信息是什么意思?
function export_gcal_to_gsheet(){
//pubCall: public calendar
//privCal private calendar
var pubCalId = "addressForPubicCal@group.calendar.google.com";
var privCalId = "addressForPrivateCal@group.calendar.google.com";
var pubCal = CalendarApp.getCalendarById(pubCalId);
//Change date range to move events from pubCal to privCal
var startDate = "January 1, 2018 00:00:00 CST";
var endDate = "January 04, 2018 23:59:59 CST";
// Extract events between certain dates in public calendar.
var events = pubCal.getEvents(new Date(startDate), new Date(endDate));
//Loop through all Calendar events
while (events.length > 0){
var eventToMove = events.shift();
Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);
}
}
下面的修改怎么样?
发件人:
Calendar.Events.move(pubCalId, eventToMove.getId(), privCalId);
收件人:
Calendar.Events.move(pubCalId, eventToMove.getId().replace("@google.com", ""), privCalId);
注:
- 检索到的 ID
eventToMove.getId()
是#####@google.com
。但是用于Calendar.Events.move()
的 id 是#####
。因此需要从#####@google.com
中删除@google.com
。- 在你的脚本中,因为找不到
#####@google.com
,所以出现错误。
- 在你的脚本中,因为找不到
参考:
如果我误解了你的问题,我很抱歉。