Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 创建的谷歌日历事件ID可以';找不到列出的事件--应用程序脚本/工作表_Google Apps Script_Google Sheets_Google Calendar Api - Fatal编程技术网

Google apps script 创建的谷歌日历事件ID可以';找不到列出的事件--应用程序脚本/工作表

Google apps script 创建的谷歌日历事件ID可以';找不到列出的事件--应用程序脚本/工作表,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我有一个脚本已经运行了将近2年。我用日期更新工作表,删除/创建事件或创建新事件 这是我最后一次浏览并添加我的日期,这是正常的,它用事件id填充工作表单元格,我正在愉快地工作——但是当我转到日历时,该日期/时间没有显示任何内容 是否有我遗漏的东西,比如新的权限--没有抛出错误--日志中没有任何内容。我有一个事件id,但我不知道如何检查显示的内容,因为我在日历上看不到它——是否有方法检查事件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|y

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();