google-apps-script - Google 表格到日历应用脚本 ColorId
问题描述
这是我对谷歌脚本编辑器的介绍,我对这件事知之甚少。无论如何,我正在尝试运行一个脚本来使用来自 Google 表格的数据在 Google 日历上创建事件。我最终得到了下面的代码。
function createCalendarEvent() {
var sheet = SpreadsheetApp.getActiveSheet();
var calendar = CalendarApp.getCalendarById('ID');
var startRow = 2;
var numRows = sheet.getLastRow();
var numColumns = sheet.getLastColumn();
var dataRange = sheet.getRange(startRow, 1, numRows-1, numColumns);
var data = dataRange.getValues();
var complete = "Done";
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var client = row[0]; //Client
var task = row[1]; //Task
var employee = row[2] //Employee
var date = new Date(row[3]); //Start Date
var rDate = new Date(row[4]); //End Date
var addguest = row[8]; //Employee Email
var employeecolor = row[9]; //Employee Calendar Color
var eventID = row[10]; //Scheduled?
Logger.log(row)
if (eventID != complete) {
var currentCell = sheet.getRange(startRow + i, numColumns);
calendar.createAllDayEvent(employee+ " - " + client, rDate,
{description: task, colorId: employeecolor, guests: addguest, sendInvites: true
});
currentCell.setValue(complete);
}
}
}
该脚本创建一个事件并向客人发送电子邮件邀请,但我唯一无法工作的是 ColorID。现在,表格中的 colorID 单元格会生成一个介于 1-11 之间的数字。我已经尝试了来自 Google 参考的十六进制颜色代码和 Enum EventColor 属性,但似乎没有任何东西可以改变默认日历颜色的颜色。帮助。不知道出了什么问题,如果已经回答了,我很抱歉。谢谢阅读。
解决方案
如果不使用高级服务,您将无法设置事件颜色。您可以在文档setColor
上的方法描述中看到这一点。要更改事件的颜色,请将其插入到具有正确颜色的日历中。您作为选项传递的对象没有这些属性,请查看文档以获取可用属性。
但是,如果您使用的是高级服务,则可以按照此答案中的说明设置颜色。
推荐阅读
- java - 如何在将 JDBC 驱动程序与 MySQL DBMS 一起使用时回滚 DDL 语句,例如 CREATE TABLE 和 DROP TABLE?
- sql-server - SQL找出哪个登录名/用户修改了表结构
- substrate - 如何在 Substrate 中安装四个节点的网络
- angular - Angular 组件不会对属性更改做出反应
- ios - 离子(Appflow):请注册自定义 URL 方案 - 方案存在于 plist 文件中
- haskell - Control.Lens 中的 Market 名称背后的原因是什么?
- python - 改组数据框中的多列
- function - Sharepoint 如何更改新文档的功能
- javascript - Jest 模拟不适用于 react-native 输入
- javascript - Vue JS:同时获取输入数组的唯一ID和值