function - 在 Google Apps 脚本中搜索和删除事件
问题描述
我为访问网站的人创建了一个预订表格,该表格捕获用户的输入并放入谷歌表格中。审批者随后在工作表中设置审批状态,并发送一封包含审批状态和详细信息的电子邮件。
我想要实现的是在拒绝站点访问时,在日历中搜索事件并将其删除!
function deleteFromCalendar(row_values)
{
var startDate = row_values[4]; //Event Start Date
var nameAndCompany = row_values[2]; //Name and Company
var approval = row_values[16]; //Approval Status
//if the visit has been rejected, search the calendar for the matching start date and person and delete the event from the calendar
if (approval == 'Rejected'){
var events2 = CalendarApp.getCalendarById('arbritrary calendar address goes here').getEventsForDay(startDate, {search: nameAndCompany});
CalendarApp.deleteEvent(events2);
}
谁能指出我正确的方向作为返回事件并删除它的正确方法?
谢谢你的帮助!
解决方案
为了通过 Apps 脚本删除和事件,您只需使用CalendarEvent.deleteEvent()。
由于getEventsForDay返回一个 数组CalendarEvents
,因此您应该遍历该数组并删除相应的事件。你应该替换这个:
CalendarApp.deleteEvent(events2);
有了这个:
events2.forEach(event => event.deleteEvent());
参考:
推荐阅读
- swiftui - 问题:如何从 SceneDelegate 调用 SwiftUI 视图结构方法
- c# - 没有注销身份验证处理程序已注册 asp.net 核心
- oauth-2.0 - GooglePlusAPI 返回错误“项目中未使用旧版人员 API”
- terraform - 此对象没有名为 ca_public_key_pem 的参数、嵌套块或导出属性
- sql-server - 通过 1 个公共列合并来自两个表的结果
- php - PHP 表单不会插入 MYSQL
- powershell - 如何修复访问权限不足错误?
- python - Python JSON 序列化字典
- javascript - 有人能解释一下为什么我们在 javaScript 中的条件周围使用括号吗
- java - 如何解析结果集的 .equals 函数的值?