javascript - 如何获取已更新共享 Google 日历的帐户
问题描述
前提
我们正在监控团队内共享的 Google 日历。因此,通过结合“更改 Googe Apps 脚本日历时的触发器”和 Google 日历 API,我们正在创建一个通知事件创建、更新和删除的机器人。
问题
从 Google Calendar API 的 Events.get 中只能获取到两个帐户信息:事件的所有者和创建者。
所以如果账户 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
*/
}
解决方案
推荐阅读
- android-studio - 更新到 Android Studio 3.5 版本后的新问题。运行应用程序时不会出现 ADB 设备选择屏幕 (SHIFT-F10)
- java - Maven、JavaFX、Launch4J-Maven-plugin - 如何捆绑 JRE?
- embedded-linux - 将 arm64 特定的内核头添加到 Linux 以刷新缓存
- reactjs - React Native Expo Offline App:如何从远程服务器更新本地数据库
- ruby-on-rails - 如何在更改与子表中不同记录的关系时触发销毁子项?
- ionic-framework - 升级 Ionic 3 - Ionic 4 CSS 复制问题
- batch-file - 如何将文件夹的每个子文件夹中除最新文件外的所有文件压缩为每个子文件夹一个 ZIP 文件?
- ruby - Ruby array.each 和 RestClient 跳过数组元素
- javascript - 模板文字在单引号中使用时为空
- elasticsearch - 为什么 Elasticsearch 替换文档而不是创建新的?