Javascript 在什么情况下,一批活动参与者会导致删除谷歌日历中的上述活动?
我为我工作的学校开发了一个应用程序,在我们的注册系统和谷歌日历之间架起了一座桥梁。简言之,它根据注册系统的数据填充多个日历(教师、学生、教室和包含所有课程的日历),它允许教师注册每个班级的学生出勤和家庭作业,还可以做其他一些事情 该应用程序还允许教师在注意到注册学生未在日历事件中作为助理输入时触发学生列表的更新 在守则中:Javascript 在什么情况下,一批活动参与者会导致删除谷歌日历中的上述活动?,javascript,google-calendar-api,Javascript,Google Calendar Api,我为我工作的学校开发了一个应用程序,在我们的注册系统和谷歌日历之间架起了一座桥梁。简言之,它根据注册系统的数据填充多个日历(教师、学生、教室和包含所有课程的日历),它允许教师注册每个班级的学生出勤和家庭作业,还可以做其他一些事情 该应用程序还允许教师在注意到注册学生未在日历事件中作为助理输入时触发学生列表的更新 在守则中: 我打电话到注册系统获取课程的最新学生名单 我给谷歌日历打了个电话,以获取日历中代表课程的事件的重现 我打电话到谷歌日历批量修补“与会者”数组的每个重复 this.update
this.updateEvent = function(calendarId, eventId, resource)
{
return $window.gapi.client.calendar.events.patch({
calendarId: calendarId,
eventId: eventId,
resource: resource
});
};
this.batchUpdateEvents = function(calendarId, eventList)
{
var counter = 0;
var batchPromises = [];
for(var i=0; i < eventList.length; i++)
{
if(counter === 0)
{
var batch = $window.gapi.client.newBatch();
}
var event = eventList[i];
batch.add(this.updateEvent(calendarId, event.id, event.resource), {id: event.id});
counter++;
if(counter === 50 || i === eventList.length-1)
{
counter = 0;
batchPromises.push(batch.then());
}
}
return $q.all(batchPromises).then(
function(response){
var updateResults = {};
response.forEach(function(batchResponse){
updateResults = Object.assign(updateResults, batchResponse.result);
});
return updateResults;
});
};
this.updateEvent=函数(日历ID、事件ID、资源)
{
返回$window.gapi.client.calendar.events.patch({
calendarId:calendarId,
eventId:eventId,
资源:资源
});
};
this.batchUpdateEvents=函数(日历ID、事件列表)
{
var计数器=0;
var=[];
对于(var i=0;i
有人知道我该往哪个方向看吗?我在这里有点不知所措。batchUpdateEvents可能接收到一个有效的calendarId,但是一个带有空值的事件列表。如果是这种情况,则在事件列表[0]中检查有效值。在继续执行for循环之前,resource将阻止保存空白事件值(这可能会导致Google删除该事件)。如果此脚本只应添加事件而从不删除它们,那么在将其添加到批处理之前检查event.resource也会很有好处 我认为这不太可能是我正在寻找的问题,但我无论如何都会测试它并让你知道。尽管如此,我应该测试eventList[0]的存在性,这一点您是对的。请参阅某个地方的资源。