Google apps script 创建的谷歌日历事件ID可以';找不到列出的事件--应用程序脚本/工作表
我有一个脚本已经运行了将近2年。我用日期更新工作表,删除/创建事件或创建新事件 这是我最后一次浏览并添加我的日期,这是正常的,它用事件id填充工作表单元格,我正在愉快地工作——但是当我转到日历时,该日期/时间没有显示任何内容 是否有我遗漏的东西,比如新的权限--没有抛出错误--日志中没有任何内容。我有一个事件id,但我不知道如何检查显示的内容,因为我在日历上看不到它——是否有方法检查事件id并查看它包含的内容 这张纸(我用管子隔开) 主题|开始日期|开始时间|结束日期|结束时间|全天活动|会议组织者|描述|地点|提醒日期|提醒时间|显示时间为|事件ID |状态 调查编辑:HC交付科学2017年7月8日12:00:00 AM 2017年7月8日12:00 PM真实Seamore Butz 2017年7月8日9:00 AM 3sg5a7jsakgbj8g5rejeos15lhc@google.com|yGoogle apps script 创建的谷歌日历事件ID可以';找不到列出的事件--应用程序脚本/工作表,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我有一个脚本已经运行了将近2年。我用日期更新工作表,删除/创建事件或创建新事件 这是我最后一次浏览并添加我的日期,这是正常的,它用事件id填充工作表单元格,我正在愉快地工作——但是当我转到日历时,该日期/时间没有显示任何内容 是否有我遗漏的东西,比如新的权限--没有抛出错误--日志中没有任何内容。我有一个事件id,但我不知道如何检查显示的内容,因为我在日历上看不到它——是否有方法检查事件id并查看它包含的内容 这张纸(我用管子隔开) 主题|开始日期|开始时间|结束日期|结束时间|全天活动|会议组
function pushToCalendar()
{
//spreadsheet variables
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
/*
getRange (row,column,optNumRows,optNumColumns)
row --- int --- top row of the range
column --- int--- leftmost column of the range
optNumRows --- int --- number of rows in the range.
optNumColumns --- int --- number of columns in the range
*/
var range = sheet.getRange(2,1,lastRow,13);
var values = range.getValues();
//calendar variables
// xxxxxxxxxxxxxxxxxxxxxxxxxx@group.calendar.google.com
var calendar = CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxxxxxx@group.calendar.google.com')
var numValues = 0;
for (var i = 0; i < values.length; i++)
{
//check to see if name and type are filled out - date is left off because length is "undefined"
if (values[i][0].length > 0)
{
//check if it's been entered before
if (values[i][13] == undefined)
{
//create event https://developers.google.com/apps-script/class_calendarapp#createEvent
var newEventTitle = values[i][0];
Logger.log(newEventTitle);
var dateStart = values[i][1];
var timeStart = values[i][2];
var dateFinish = values[i][3];
var timeFinish = values[i][4];
var startDateTime = new Date(dateStart+" "+timeStart);
startDateTime.setDate(startDateTime.getDate());
startDateTime.setMonth(startDateTime.getMonth());
startDateTime.setYear(startDateTime.getYear());
startDateTime.setTime(startDateTime.getTime());
var stopDateTime = new Date(dateFinish+" "+timeFinish);
stopDateTime.setDate(stopDateTime.getDate());
stopDateTime.setMonth(stopDateTime.getMonth());
stopDateTime.setYear(stopDateTime.getYear());
stopDateTime.setTime(stopDateTime.getTime());
var description = (values[i][7] == '' ? 'Test Description '+i : values[i][7]);
var location = (values[i][8] == '' ? 'Test Location '+i : values[i][8]);
Logger.log(description);
Logger.log(location);
//var newEvent = calendar.createAllDayEvent(newEventTitle, values[i][1]);
var newEvent = calendar.createEvent(newEventTitle, startDateTime, stopDateTime, {description:description,location:location});
//get ID
var newEventId = newEvent.getId();
//mark as entered, enter ID
sheet.getRange(i+2,14).setValue('y');
sheet.getRange(i+2,13).setValue(newEventId);
// in case of larger sheets we need to sleep the process
Utilities.sleep(1000);
}
else if (values[i][14] == 'u')
{
// can update event so need to delete and create again
// delete event
var event = calendar.getEventSeriesById(values[i][9]);
event.deleteEventSeries();
//create event
var newEventTitle = values[i][0];
//create event https://developers.google.com/apps-script/class_calendarapp#createEvent
var newEventTitle = values[i][0];
var dateStart = values[i][1];
var timeStart = values[i][2];
var dateFinish = values[i][3];
var timeFinish = values[i][4];
var startDateTime = new Date(dateStart+" "+timeStart);
startDateTime.setDate(startDateTime.getDate());
startDateTime.setMonth(startDateTime.getMonth());
startDateTime.setYear(startDateTime.getYear());
startDateTime.setTime(startDateTime.getTime());
var stopDateTime = new Date(dateFinish+" "+timeFinish);
stopDateTime.setDate(stopDateTime.getDate());
stopDateTime.setMonth(stopDateTime.getMonth());
stopDateTime.setYear(stopDateTime.getYear());
stopDateTime.setTime(stopDateTime.getTime());
var description = (values[i][7] == undefined ? 'Test Description '+i : values[i][7]);
var location = (values[i][8] == undefined ? 'Test Location '+i : values[i][8]);
//var newEvent = calendar.createAllDayEvent(newEventTitle, values[i][1]);
var newEvent = calendar.createEvent(newEventTitle, startDateTime, stopDateTime, {description:description,location:location});
//get ID
var newEventId = newEvent.getId();
//mark as entered, enter ID
sheet.getRange(i+2,14).setValue('y');
sheet.getRange(i+2,13).setValue(newEventId);
// in case of larger sheets we need to sleep the process
Utilities.sleep(1000);
}
else
{
Logger.log('I am groot');
sheet.getRange(i+2,14).setValue('y');
}
}
numValues++;
}
}
function onOpen()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({name: "Grades & Evals", functionName: "pushToCalendar"});
sheet.addMenu("Sync to Academic Master", menuEntries);
}
函数pushToCalendar()
{
//电子表格变量
var sheet=SpreadsheetApp.getActiveSheet();
var lastRow=sheet.getLastRow();
/*
getRange(行、列、optNumRows、optNumColumns)
行--int--范围的第一行
列--int--范围中最左边的列
optNumRows---int--范围内的行数。
optNumColumns--int--范围内的列数
*/
var范围=sheet.getRange(2,1,最后一行,13);
var values=range.getValues();
//日历变量
// xxxxxxxxxxxxxxxxxxxxxxxxxx@group.calendar.google.com
var calendar=CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxxxxxx@group.calendar.google.com')
var numValues=0;
对于(变量i=0;i0)
{
//检查以前是否输入过
if(值[i][13]==未定义)
{
//创建事件https://developers.google.com/apps-script/class_calendarapp#createEvent
var newEventTitle=值[i][0];
Logger.log(newEventTitle);
var dateStart=值[i][1];
var timeStart=值[i][2];
var dateFinish=值[i][3];
var timeFinish=值[i][4];
var startDateTime=新日期(dateStart+“”+timeStart);
setDate(startDateTime.getDate());
startDateTime.setMonth(startDateTime.getMonth());
startDateTime.setYear(startDateTime.getYear());
setTime(startDateTime.getTime());
var stopDateTime=新日期(dateFinish+“”+timeFinish);
setDate(stopDateTime.getDate());
setMonth(stopDateTime.getMonth());
setYear(stopDateTime.getYear());
setTime(stopDateTime.getTime());
var描述=(值[i][7]=''测试描述'+i:值[i][7]);
var位置=(值[i][8]=''‘测试位置’+i:值[i][8]);
Logger.log(描述);
Logger.log(位置);
//var newEvent=calendar.createAllDayEvent(newEventTitle,值[i][1]);
var newEvent=calendar.createEvent(newEventTitle,startDateTime,stopDateTime,{description:description,location:location});
//取得身份证
var newEventId=newEvent.getId();
//标记为已输入,输入ID
表.getRange(i+2,14).setValue('y');
sheet.getRange(i+2,13).setValue(newEventId);
//如果床单较大,我们需要在整个过程中睡眠
睡眠(1000);
}
else if(值[i][14]=“u”)
{
//可以更新事件,因此需要删除并重新创建
//删除事件
var event=calendar.getEventSeriesById(值[i][9]);
deleteEventSeries();
//创建事件
var newEventTitle=值[i][0];
//创建事件https://developers.google.com/apps-script/class_calendarapp#createEvent
var newEventTitle=值[i][0];
var dateStart=值[i][1];
var timeStart=值[i][2];
var dateFinish=值[i][3];
var timeFinish=值[i][4];
var startDateTime=新日期(dateStart+“”+timeStart);
setDate(startDateTime.getDate());
startDateTime.setMonth(startDateTime.getMonth());
startDateTime.setYear(startDateTime.getYear());
setTime(startDateTime.getTime());
var stopDateTime=新日期(dateFinish+“”+timeFinish);
setDate(stopDateTime.getDate());
setMonth(stopDateTime.getMonth());
setYear(stopDateTime.getYear());
setTime(stopDateTime.getTime());
变量说明=(值[i][7]==未定义的?“测试说明”+i:值[i][7]);
变量位置=(值[i][8]==未定义的?“测试位置”+i:值[i][8]);
//var newEvent=calendar.createAllDayEvent(newEventTitle,值[i][1]);
var newEvent=calendar.createEvent(newEventTitle,startDateTime,stopDateTime,{description:description,location:location});
//取得身份证
var newEventId=newEvent.getId();
//标记为已输入,输入ID
表.getRange(i+2,14).setValue('y');
sheet.getRange(i+2,13).setValue(newEventId);
//如果床单较大,我们需要在整个过程中睡眠
睡眠(1000);
}
其他的
{
Logger.log(“我是groot”);
表.getRange(i+2,14).setValue('y');
}
}
numValues++;
}
}
函数onOpen()
{
风险值表=
var values = range.getValues();
var values = range.getDisplayValues();