TypeError: Cannot read property 'createAllDayEvent' of null when creating GoogleScripts automation
TypeError: Cannot read property 'createAllDayEvent' of null when creating GoogleScripts automation
首先,我是一个非常新的程序员,所以我为我的无知道歉。不管怎样,我今天写这段代码是为了从 google sheet 中获取数据,并将其导入到 google 日历中。
//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 列的最后一个单元格是添加到 google 日历的日期。
但是,当它是 运行 时,我得到错误 TypeError: Cannot read property 'createAllDayEvent' of null
。
Logger.log(depositDate)
生成了在价差中分配的正确日期sheet,所以我不确定去哪里看。
再次感谢您:)
这对我有用:
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
}
我发现您不能在 getCalendarById 函数中放入您在 App 脚本项目中使用的其他帐户的 ID。
例如,如果您在“nicolas@gmail.com”中编辑脚本,则需要使用相同的电子邮件帐户创建一个日历 ID。
这为我修复了空错误。
首先,我是一个非常新的程序员,所以我为我的无知道歉。不管怎样,我今天写这段代码是为了从 google sheet 中获取数据,并将其导入到 google 日历中。
//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 列的最后一个单元格是添加到 google 日历的日期。
但是,当它是 运行 时,我得到错误 TypeError: Cannot read property 'createAllDayEvent' of null
。
Logger.log(depositDate)
生成了在价差中分配的正确日期sheet,所以我不确定去哪里看。
再次感谢您:)
这对我有用:
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
}
我发现您不能在 getCalendarById 函数中放入您在 App 脚本项目中使用的其他帐户的 ID。
例如,如果您在“nicolas@gmail.com”中编辑脚本,则需要使用相同的电子邮件帐户创建一个日历 ID。
这为我修复了空错误。