gpe*_*ana 1 javascript google-calendar-api google-api
当我尝试通过javascript v3 api将多个事件添加到Google日历时遇到了一个问题。
我有一个数组,条目是这样的事件:
Run Code Online (Sandbox Code Playgroud)newEvent = { "summary": response[i].name+" BDay!!", "start": { "dateTime": date }, "end": { "dateTime": date } }; events[i]=newEvent;
之后,我打电话给Google Calendar API以添加事件:
var request;
for(var j = 0; j<events.length; j++) {
console.log(events[j]);
request = gapi.client.calendar.events.insert({
'calendarId': calendarId,
'resource': events[j]
});
request.execute(function(resp) {
console.log(resp);
});
}
Run Code Online (Sandbox Code Playgroud)
但是,事实证明,所有事件都放在日历的同一日期(实际上是数组events []中的最后一个日期)。我认为可能是因为请求是回调函数,但我不确定。
希望能有所帮助!
如果要一次插入多个事件,则应使用批处理。
var batch = gapi.client.newBatch();
batch.add(gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': events[0]
}));
batch.add(gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': events[1]
}));
batch.add(gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': events[2]
}));
......
batch.then(function(){
console.log('all jobs done!!!')
});
Run Code Online (Sandbox Code Playgroud)