在Google日历(API)中插入多个calendar.events

时间:2018-05-22 12:09:16

标签: google-calendar-api

我正在使用谷歌API,https://developers.google.com/calendar/v3/reference/events/insert在日历中插入事件。单个事件已成功插入,但是我们是否可以在一个标注中插入多个事件?

3 个答案:

答案 0 :(得分:1)

如此thread中所述,如果您想一次插入多个事件,则应使用batch

 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!!!')
 });

您也可以查看此link以获取更多参考资料。

答案 1 :(得分:0)

您需要使用批处理来添加/删除/更新事件。

为什么要使用批处理? 使用批处理API的主要原因是减少网络开销,从而提高性能。

这是一个示例,显示批处理使用javascript / typescript

动态添加事件的用法
createMultipleEvents() {
    const events = [ {
      'summary': 'sample test events1',
      'location': 'coimbatore',
      'start': {
          'date': '2018-08-29',
          'timeZone': 'America/Los_Angeles'
      },
      'end': {
          'date': '2018-08-29',
          'timeZone': 'America/Los_Angeles'
      }
  },
  {
    'summary': 'sample test events2',
    'location': 'coimbatore',
    'start': {
        'date': '2018-08-29',
        'timeZone': 'America/Los_Angeles'
    },
    'end': {
        'date': '2018-08-29',
        'timeZone': 'America/Los_Angeles'
    }
},
];
const batch = gapi.client.newBatch();
events.map((r, j) => {
  batch.add(gapi.client.calendar.events.insert({
    'calendarId': 'primary',
    'resource': events[j]
  }))
})
batch.then(function(){
  console.log('all jobs now dynamically done!!!')
});
  }

答案 2 :(得分:0)

Global HTTP Batch Endpoints(www.googleapis.com/batch)将于2020年8月12日在Google Developers博客上宣布停止工作。有关将服务转换为使用特定于API的HTTP批处理端点(www.googleapis.com/batch/api/version)的说明,请参阅博客文章。 https://developers.googleblog.com/2018/03/discontinuing-support-for-json-rpc-and.html