如何在Google Apps Script中为日历事件添加拥有编辑权限的参与者?
实现方法
你可以直接用CalendarApp.Event对象自带的权限设置方法完成需求:
- 给用户授予事件编辑权限:调用
event.addEditor(邮箱地址)方法 - 给用户授予仅查看权限:调用
event.addViewer(邮箱地址)方法,和你原来使用的addGuest效果完全一致
修改后的示例代码
var event = CalendarApp.getCalendarById("你的日历ID").createEvent( "事件标题", new Date("事件开始时间"), new Date("事件结束时间") ); // 给editor数组用户添加编辑权限 for (var a = 0; a < editor.length; a++) { // 此处保留你原有的判断逻辑,注意原代码的判断条件`editor === editor[a-1][1]`疑似存在逻辑问题,可根据实际业务调整 if (editor === editor[a][1]) { event.addEditor(editor[a][0]); } } // 给grupav数组用户添加仅查看权限 for (var j = 0; j < grupav.length; j++) { Logger.log(grupav[j][0]); event.addViewer(grupav[j][0]); }
补充说明
如果需要批量添加用户,可以直接调用addEditors(邮箱数组)、addViewers(邮箱数组)方法,直接传入一维邮箱地址数组即可,不需要循环,运行效率更高:
// 批量添加所有编辑者 event.addEditors(editor.map(item => item[0])); // 批量添加所有查看者 event.addViewers(grupav.map(item => item[0]));
编辑者权限允许用户修改事件内容、增减参与者、删除事件,和日历所有者的事件操作权限基本一致;如果后续需要收回权限,对应调用removeEditor、removeViewer方法即可。
内容的提问来源于stack exchange,提问作者DragonHunter
相关产品推荐
相关产品推荐

