首页 > 解决方案 > 如何获取已更新共享 Google 日历的帐户

问题描述

前提

我们正在监控团队内共享的 Google 日历。因此,通过结合“更改 Googe Apps 脚本日历时的触发器”和 Google 日历 API,我们正在创建一个通知事件创建、更新和删除的机器人。

问题

从 Google Calendar API 的 Events.get 中只能获取到两个帐户信息:事件的所有者和创建者。

谷歌日历 API/事件

所以如果账户 A 创建了一个事件,账户 B 编辑了它,那么目前没有办法获取 B 的信息。请告知我们是否有方法可以获取有关在共享 Google 日历中更新活动的帐户的信息,其中包括 API 和其他服务。

代码

function doMain(e) {
  Logger.log(e);
  var items = onCalendarEdit(e.calendarId);

  for (var i = 0; i < items.length; i++) {
    var Event = Calendar.Events.get(e.calendarId, items[i].id);
    EventProcessing(Event);
  }
}



function onCalendarEdit(CalId) {
  var calendarId = CalId 
  var summary = Calendar.Calendars.get(calendarId).summary
  var properties = PropertiesService.getScriptProperties();
  var nextSyncToken = properties.getProperty("syncToken_" + summary);
  var optionalArgs = {
    syncToken: nextSyncToken
  };
  var events = Calendar.Events.list(calendarId, optionalArgs);
  Logger.log(JSON.stringify(events));
  var nextSyncToken = events["nextSyncToken"];
  properties.setProperty("syncToken_" + summary, nextSyncToken);
  return events.items;
}

function EventProcessing(Event) {
/* bot : Processing to throw a notification 
*/
}

标签: javascriptgoogle-apps-scriptgoogle-apigoogle-calendar-api

解决方案


推荐阅读