Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google Sheets to Calendar Apps脚本ColorId_Google Apps Script_Google Sheets_Google Calendar Api - Fatal编程技术网

Google apps script Google Sheets to Calendar Apps脚本ColorId

Google apps script Google Sheets to Calendar Apps脚本ColorId,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,这是我对谷歌脚本编辑器的介绍,我对这件事知之甚少。不管怎样,我正在尝试运行一个脚本,用谷歌工作表中的数据在谷歌日历上创建事件。我最终得到了下面的代码 function createCalendarEvent() { var sheet = SpreadsheetApp.getActiveSheet(); var calendar = CalendarApp.getCalendarById('ID'); var startRow = 2; var numRows = sh

这是我对谷歌脚本编辑器的介绍,我对这件事知之甚少。不管怎样,我正在尝试运行一个脚本,用谷歌工作表中的数据在谷歌日历上创建事件。我最终得到了下面的代码

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);

    }
  }
}
函数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=“完成”;
对于(变量i=0;i

该脚本创建了一个事件并向来宾发送电子邮件邀请,但我唯一无法使用的是ColorID。现在,Sheets中的colorID单元格生成一个介于1-11之间的数字。我尝试过谷歌参考中的十六进制颜色代码和Enum EventColor属性,但似乎没有改变默认日历颜色的颜色。救命啊。我不确定出了什么问题,如果已经回答了,我很抱歉。感谢阅读。

如果不使用高级服务,则无法设置事件颜色。您可以在上的
setColor
方法说明中看到这一点。 要更改事件的颜色,请使用正确的颜色将其插入日历。 作为选项传递的对象没有这些属性,请检查可用属性


但是,如果您使用的是高级服务,您可以按照日历上的说明设置颜色高级服务允许设置单个活动的颜色,请参见此处的文档:,完整回答:谢谢@Sergeinsas提供信息!回答得好!