Google驱动器电子表格和日历邀请嘉宾 [英] Google drive spreadsheet and calendar invite guest
问题描述
- 如果日历中有变化,电子表格中将不会发生变化
- 我无法找到邀请来宾加入日历的代码。到目前为止,我所知道的是我需要使用参与者[],但我无法找到示例向我展示如何完成它。我发现了一些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.
- If there's changes in the calendar , there will be no changes in the spreadsheet
- 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屋!