我在谷歌表单中使用了以下应用程序脚本代码,几个月来没有出现任何问题。
它在每天晚上9点到10点由时间触发器触发,从我的谷歌日历中获取当天的每个事件,并将包含这些细节的对应行添加到谷歌工作表中。
// Add Google Calendar events to Google Sheets.
// Sheet row additions to fire Zapier ClickTime actions.
// Script originally from https://blog.ouseful.info/2010/03/05/grabbing-google-calendar-event-details-into-a-spreadsheet/
function caltest3(){
//http://www.google.com/google-d-s/scripts/class_calendar.html#getEvents
// The code below will retrieve events between 2 dates for the user's default calendar and
// display the events the current spreadsheet
var cal = CalendarApp.getDefaultCalendar();
var sheet = SpreadsheetApp.getActiveSheet();
// Today's date, via https://stackoverflow.com/questions/46548281/how-to-reference-todays-date-in-javascript
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth();
var yyyy = today.getFullYear();
// Use Google Calendar classes, https://developers.google.com/apps-script/reference/spreadsheet/sheet#appendRow(Object):
// Get all events between this range
var events = cal.getEvents(new Date(yyyy, mm, dd, 0, 0, 0), new Date(yyyy, mm, dd, 23, 0, 0));
// For every event,
for (var i=0;i<events.length;i++) {
// Calculate hour length of event
var hours = Math.abs(events[i].getEndTime() - events[i].getStartTime()) / 36e5;
// Combine elements of event
// var details=[[events[i].getStartTime(), events[i].getEndTime(), hours, events[i].getTitle(), events[i].getDescription()]];
// Appends a new row with columns to the bottom of the spreadsheet containing the values in the array
sheet.appendRow([events[i].getStartTime(), events[i].getEndTime(), hours, events[i].getTitle(), events[i].getDescription()]);
}
}
但是,一夜之间,我从谷歌收到了这条消息。。。
您的脚本Calendar Transfer最近未能完成
成功地故障摘要如下所示。要配置
此脚本的触发器,或更改接收的设置
以后的故障通知,请单击此处。
该脚本由文档日历列表使用。
真诚地,谷歌应用程序脚本
最后一次成功添加行是在2月15日。在2月16日或17日,没有可添加的事件,因此2月18日是第一次失败。
这是怎么回事?
是否与从传统日历切换到新日历有关?
或者看起来它在添加到表单时遇到了一些问题?
第34行是标记的最后一行
Appends a new row ...
.