Google apps script 使用谷歌工作表控制谷歌日历
我希望能够通过运行工作表中的代码来更新、删除工作表中的新事件,并将其添加到日历中。到目前为止,我可以添加新事件并防止上载重复的事件,但我需要工作表能够在日历上修改和/或删除工作表上更改/删除的事件 以下是我目前掌握的代码:Google apps script 使用谷歌工作表控制谷歌日历,google-apps-script,Google Apps Script,我希望能够通过运行工作表中的代码来更新、删除工作表中的新事件,并将其添加到日历中。到目前为止,我可以添加新事件并防止上载重复的事件,但我需要工作表能够在日历上修改和/或删除工作表上更改/删除的事件 以下是我目前掌握的代码: function CreateEvent() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var calendarId = sheet.getRange("D2&qu
function CreateEvent()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var calendarId = sheet.getRange("D2").getValue();
var eventCal = CalendarApp.getCalendarById ('CalendarID');
var lr = sheet.getLastRow();
var count = sheet.getRange("A9:E"+lr+"").getValues();
for (x=0; x<count.length; x++) {
var shift = count[x];
var summary = shift[0];
var startTime = shift[1];
var endTime = shift[2];
var guests = shift[3];
var location = shift[4];
var event = {
'location': location,
'guests':guests +',',
'sendInvites': 'True',
}
var events = eventCal.getEvents(startTime, endTime, {search: summary});
if (events.length == 0) {
eventCal.createEvent(summary, startTime, endTime, event);
}
}
}
}
函数CreateEvent()
{
var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var calendarId=sheet.getRange(“D2”).getValue();
var eventCal=CalendarApp.getCalendarById('CalendarID');
var lr=sheet.getLastRow();
var count=sheet.getRange(“A9:E”+lr+”).getValues();
对于(x=0;xTo)要更新已存在事件的详细信息,最好使用
- 它允许您在应用程序脚本中使用日历API方法
- 要使用高级日历服务,请打开
Resources>Advanced Google services
- 完成后,您可以按以下方式修改代码以修改现有事件:
函数CreateEvent()
{
var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var calendarId=sheet.getRange(“D2”).getValue();
var eventCal=CalendarApp.getCalendarById(calendarId);
var lr=sheet.getLastRow();
var count=sheet.getRange(“A9:E”+lr.getValues();
对于(x=0;x您希望更改哪种信息?时间?来宾?位置?您将如何告诉脚本您希望删除/修改事件?您是否有带有复选框的列来指示您希望修改/删除?或者这些请求是否包含在与创建事件的请求不同的工作表中?我有一个具有以下列将用作日历的源:任务、开始时间、结束时间、与会者、位置。如果我更改了工作表上的任何一列,我希望在运行脚本时更新日历。为了验证事件是否已存在,它需要具有一些不变的标识符。该标识符是什么在您的案例中是标识符吗?摘要?也是开始时间和结束时间?这将是摘要,在这里我使用了连接函数并创建了一个唯一的事件ID,该ID组合了任务、开始时间、结束时间和位置。这太好了,非常感谢。这段代码不允许我在向电子邮件发送电子邮件邀请时做一些事情ls列在工作表的“来宾”部分。另一个问题是它不会删除我在工作表中删除的日历上的事件。您将如何实现删除工作表中删除的事件?您可能希望对此进行登录。