google-apps-script - TypeError:创建 GoogleScripts 自动化时无法读取 null 的属性“createAllDayEvent”
问题描述
首先,我是一个非常新的程序员,所以我为我的无知道歉。无论如何,我今天编写了这段代码来从谷歌表格中获取数据,并将其导入谷歌日历。
//create deposit date
function sheetsToCalendar() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var eventCal = CalendarApp.getCalendarById("[omitted]@group.calendar.google.com");
var lastRow = spreadsheet.getLastRow();
var depositDate = spreadsheet.getRange(lastRow, 28).getValue();
Logger.log(depositDate)
eventCal.createAllDayEvent('Deposit Date', depositDate)
}
目的是在程序执行时,第 28 列的最后一个单元格是添加到谷歌日历的日期。
但是,当它运行时,我收到错误消息TypeError: Cannot read property 'createAllDayEvent' of null
。
生成电子表格中分配的Logger.log(depositDate)
正确日期,所以我不确定在哪里看。
再次感谢你 :)
解决方案
这对我有用:
function sheetsToCalendar() {
const sh = SpreadsheetApp.getActiveSheet();
const cal = CalendarApp.getCalendarById(gobj.globals.calendarid);//contains a global object parameter that holds my calendar id
const depositDate = new Date(sh.getRange(sh.getLastRow(), 28).getValue());//try using the new Date() constructor to get the date from a spreadsheet
Logger.log(depositDate)
cal.createAllDayEvent('Deposit Date', depositDate);//this was created on my calendar
}
推荐阅读
- image - 复制粘贴图形-功能-照片不复制
- command - 如何制作仅影响特定游戏模式中玩家的命令
- vb.net - 在选定的日历中创建约会 (VSTO vb.net)
- excel - VBA:按变量自适应选择行、列、范围
- javascript - 如何根据一个对象内的字段过滤对象数组?
- ruby-on-rails - 访问 Rails 策略对象中的参数
- azure - Azure ADF v2-如何向部署到 Azure Data Lake 的文件名添加/附加时间戳
- javascript - 等待 NodeJS exec 然后杀死所有子进程
- jquery - jQuery .remove() 不工作?
- rx-java - RX Java 2 如何跟踪每个事件的总处理时间?