Google云端硬盘电子表格和日历邀请访客

时间:2015-04-29 07:20:57

标签: google-apps-script spreadsheet

好的,首先,我要做的是同时更新Google表格和日历。因此,假设您的电子表格有更新,那么日历也会有更新。但是,这就是我没有做的所有事情。

  1. 如果日历中有更改,则电子表格中不会有任何更改
  2. 我无法找到邀请访客加入日历的代码。到目前为止,我所知道的是我需要使用“与会者[]”,但我无法找到示例来告诉我它是如何完成的。我发现了一些java代码但如果我没弄错的话会有所不同。
  3. 因此,这些将是电子表格的订单

    日期标题开始时间结束时间位置描述Guest EventID

    这是Google表格上的代码。

    function onOpen() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var entries = [{
        name : "Export Events",
        functionName : "exportEvents"
      }];
      sheet.addMenu("Calendar Actions ", entries);
    };
    
    
    function exportEvents() {
      var sheet = SpreadsheetApp.getActiveSheet();
      var headerRows = 1;  
      var range = sheet.getDataRange();
      var data = range.getValues();
      var calId = "muiznn@gmail.com"; // calenderID
      var cal = CalendarApp.getCalendarById(calId);
      for (i in data) {
        if (i < headerRows) continue; 
        var row = data[i];
        var date = new Date(row[0]); 
        var title = row[1];           
        var tstart = new Date(row[2]);
        tstart.setDate(date.getDate());
        tstart.setMonth(date.getMonth());
        tstart.setYear(date.getYear());
        tstart.setMinutes( tstart.getMinutes() + 6)
        var tstop = new Date(row[3]);
        tstop.setDate(date.getDate());
        tstop.setMonth(date.getMonth());
        tstop.setYear(date.getYear());
        tstop.setMinutes(tstop.getMinutes() + 6)
        var loc = row[4];
        var desc = row[5];
        var guest = row[6]
        var id = row[7];              
    
    
    
        try 
        {
          var event = cal.getEventSeriesById(id);
          event.deleteEventSeries();
          row[7] = '';    
        }
        catch (e) {
    
        }
    
        var newEvent = cal.createEvent(title, new Date(tstart), new Date(tstop), {description:desc,location:loc}).getId();
        row[7] = newEvent;  
        debugger;
    
       }
    
      range.setValues(data);
    }
    

    如果可能的话,我会对此提出一些指导,因为我被困住了。

1 个答案:

答案 0 :(得分:0)

为此,如果要为电子表格中的每个新条目创建新事件,可以使用Calender类并创建事件。

如果您想要编辑已创建的活动并添加新访客,则可以使用CalendarEvent课程并添加来宾。

希望有所帮助!