首先,我没有任何编码知识/背景,所以我不知道在这里寻求建议是否合适,也是我在这里的第一篇文章。我通常在互联网上寻找一些可以找到我的需求的代码,更新它以适合我的数据并完成。
所以,现在我正在我的组织中设置一个共享平台,允许人们注册为共享会话的演示者或参与者。
会话都是预先创建的,他们必须在列表中进行选择。注册后,数据可在电子表格中使用,我有代码为会议添加这些注册人。
但是我的问题是,他们被添加为活动的嘉宾,但没有收到此活动的邀请。这是脚本:
function Presenterscalendar() {
var cal,i,iCalId,row,sheet,thisEvent,presenter,title,email;
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Presenters");
var dataRange = sheet.getRange("A2:G1000");
var data = dataRange.getValues();
cal = CalendarApp.getDefaultCalendar();
for (i in data) {
row = data[i];
presenter = row[1];
title = row[3];
tstart = row[2];
iCalId = row[4];
email = row[6];
thisEvent = cal.getEventSeriesById(iCalId);
if (thisEvent) {
thisEvent.setTitle(title);
thisEvent.setDescription('A session presented by '+presenter);
thisEvent.addGuest(email)
}
}
}
我寻找其他脚本,以便向日历中每个会议的所有与会者发送邀请:
function sendInvite(calendarId, eventId, email) {
var calendarId = 'test@test.com';
var vss = SpreadsheetApp.getActive();
var vS = vss.getSheetByName('Presenters');
var dataRange = vS.getRange("A2:H1000");
var data = dataRange.getValues();
for (i in data) {
row = data[i];
presenter = row[1];
title = row[3];
tstart = row[1];
iCalId = row[4];
mail = row[6];
var eventId = vS.getRange("e2:e1000").getValue();
var eid = eventId.split("@")[0]; // Added;
var event = Calendar.Events.get(calendarId, eid);
var attendees = event.attendees;
if(event.attendees) {
event.attendees.push({
email: email
});
} else {
event.attendees = new Array({email:email});
}
event = Calendar.Events.patch(event, calendarId, eid, {
sendupdates: "all"
});
}
}
如果我只是为 ex ({email:"test@google.com"}) 放置一个静态电子邮件,这会起作用,但是如果保持原样,它会显示“缺少与会者邮件”。最终,我想要的是:
我确实已经允许脚本和 Google Cloud 平台使用 Calendar API。
我想知道您是否可以帮助我,我尝试复制我在互联网上找到的内容,但我对编码的有限知识不允许我走得更远......
非常感谢!
答案 0 :(得分:0)