1

我正在尝试创建一个谷歌电子表格(带有表单),它将事件上传到谷歌日历并向表单的提交者发送一封电子邮件,其中包含其他信息。我对电子邮件部分没有任何问题,但是日历接口给我带来了麻烦。

当我尝试运行我的脚本时,它给了我错误消息:“找不到方法(类)直到(字符串)。(第 84 行,文件“代码”)”这一行的重点是使用数据创建日历事件从提交的表格中。

以下是第 84 行变量的定义(在脚本的其他地方声明):

var calId = "5u6ui0kdehtpn5ml5gr9s13260@group.calendar.google.com"; //test calendar ID
var cal = CalendarApp.getCalendarById(calId); //sets the active calendar to calID for adding events
var eventTitle = row[11] //"Event Title" column
var eventStartDate = Utilities.formatDate(new Date(row[12]), "GMT", "MM/dd/yy") //"Calendar Start Date" column
var eventEndDate = Utilities.formatDate(new Date(row[13]), "GMT", "MM/dd/yy");  //"Calendar End Date" column
var eventDescription = "a string for the description"

这是第 84 行:

cal.createAllDayEventSeries(eventTitle, eventStartDate, CalendarApp.newRecurrence().addDailyRule().until(eventEndDate),{description:eventDescription});

关于我收到此错误的原因或我可以做些什么来纠正它的任何想法?

4

1 回答 1

0

您为方法提供了错误的类型。

当您查看该RecurrenceRule.until()方法的文档时,您会发现该参数应该是一个 Date 对象。在您的代码中,您提供了一个字符串,其中包含表示日期的文本。翻译打.until(eventEndDate),并尝试定位接受 String 参数的方法版本,失败,并抛出您看到的错误。

当你给 赋值时eventEndDate,你希望它是一个 Date 对象。这意味着您可以直接取消该.formatDate()位,这只会制作一个看起来令人愉悦的字符串。试试这个:

var eventStartDate = new Date(row[12]) // "Calendar Start Date" column
var eventEndDate = new Date(row[13])   // "Calendar End Date" column
于 2013-06-01T02:47:12.663 回答