在 Google 日历中创建一个 "free" 事件(而不是默认的 "busy")
create a "free" event in Google Calendar (instead of the default "busy")
我正在使用以下脚本从 google sheet 上的日期列表创建日历事件。
function CreateEvent() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = spreadsheet.getRange('E4').getValue();
var eventCal = CalendarApp.getCalendarById(calendarId);
//var signups = spreadsheet.getRange("A8:C12").getValues();
var lr = spreadsheet.getLastRow();
var count = spreadsheet.getRange("A8:F"+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 description = shift[4];
//var location = shift[5];
var myEvent = eventCal.createEvent(summary, startTime, endTime, {transparency: 'transparent'});
var myEventId = myEvent.getId();
var myEventId = myEventId.slice(0,myEventId.length-11);
spreadsheet.getRange("F8").offset(x, 0).setValue(myEventId);
//makeEventFree(calendarId, myEventId);
}
}
我正在尝试创建这些可用可用性 "free" 而不是 "busy" 的事件,或者在创建后将事件更改为 "free"。
以下提案不再适用:
有什么想法或建议吗?
您似乎需要访问日历 api(在应用脚本中的特殊服务下)。通过特殊服务访问事件后,您的代码应该与共享示例中列出的代码非常相似。
var changes = {
transparency: "transparent"
};
// This is the point where the api is accessed and your changes submitted.
Calendar.Events.patch(changes,calendarId,eventId);
我正在使用以下脚本从 google sheet 上的日期列表创建日历事件。
function CreateEvent() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = spreadsheet.getRange('E4').getValue();
var eventCal = CalendarApp.getCalendarById(calendarId);
//var signups = spreadsheet.getRange("A8:C12").getValues();
var lr = spreadsheet.getLastRow();
var count = spreadsheet.getRange("A8:F"+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 description = shift[4];
//var location = shift[5];
var myEvent = eventCal.createEvent(summary, startTime, endTime, {transparency: 'transparent'});
var myEventId = myEvent.getId();
var myEventId = myEventId.slice(0,myEventId.length-11);
spreadsheet.getRange("F8").offset(x, 0).setValue(myEventId);
//makeEventFree(calendarId, myEventId);
}
}
我正在尝试创建这些可用可用性 "free" 而不是 "busy" 的事件,或者在创建后将事件更改为 "free"。
以下提案不再适用:
有什么想法或建议吗?
您似乎需要访问日历 api(在应用脚本中的特殊服务下)。通过特殊服务访问事件后,您的代码应该与共享示例中列出的代码非常相似。
var changes = {
transparency: "transparent"
};
// This is the point where the api is accessed and your changes submitted.
Calendar.Events.patch(changes,calendarId,eventId);