Google驱动器电子表格和日历邀请嘉宾 [英] Google drive spreadsheet and calendar invite guest

查看:115
本文介绍了Google驱动器电子表格和日历邀请嘉宾的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,首先,我要做的是同时更新Google工作表和日历。因此,假设您的电子表格中有更新,还会更新日历。但是,以下是我未能做到的所有事情。


  1. 如果日历中有变化,电子表格中将不会发生变化

  2. 我无法找到邀请来宾加入日历的代码。到目前为止,我所知道的是我需要使用参与者[],但我无法找到示例向我展示如何完成它。我发现了一些java代码,但如果我没有弄错,它的区别就不同了。

所以,这些将是电子表格的顺序



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



这是Google表格中的代码。

  function onOpen(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name:Export Events,
functionName:exportEvents
}];
sheet.addMenu(日历操作,条目);
};


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



尝试
{
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;
调试器;

}

range.setValues(data);
}

如果可能的话,我会对此有所指导,因为我被卡住了。为此,如果要为电子表格中的每个新条目创建新事件,可以使用 Calender 课程并创建一个活动。



如果您想编辑已创建的活动并添加新的邀请对象,您可以使用 CalendarEvent 课程并添加访客。



希望有帮助!


Okay, first of all, what I'm trying to do is updating Google sheet and calendar simultaneously. So, let say if there's an update to your spreadsheet there will also be an update to the calendar. However, here's all the things that I failed to do.

  1. If there's changes in the calendar , there will be no changes in the spreadsheet
  2. I'm unable to find code to invite guest to the calendar. So far , all i know is that i need to to use " attendee[] " but I'm unable to find example to show me on how its done. I've found some java code but its different if I'm not mistaken.

So, these will be the order for the spreadsheet

Date Title Start Time End Time Location Description Guest EventID

This one is the code on the google sheets.

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

If possible , I would some guidance on this , since I'm stuck.

解决方案

For this, if you want to create a new event for each new entry in spread sheet you could use Calender class and create an event.

If you want to edit an already created event and add new guests you could use CalendarEvent class and add guests.

Hope that helps!

这篇关于Google驱动器电子表格和日历邀请嘉宾的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆