我尝试使用这些论坛上提供的代码修复以下脚本,但到目前为止没有任何效果,我正在使用以下脚本创建日历上所有会议的列表,但它不会显示来宾:
function importGoogleCalendar() {
var sheet = SpreadsheetApp.getActiveSheet();
var calendarId = sheet.getRange('B1').getValue().toString();
var calendar = CalendarApp.getCalendarById(calendarId);
// Set filters
var startDate = sheet.getRange('B2').getValue();
var endDate = sheet.getRange('B3').getValue();
var searchText = sheet.getRange('B4').getValue();
// Print header
var header = [["Title", "Description", "Start", "End", "Ubicación", "Participantes"]];
var range = sheet.getRange("A6:F6");
range.setValues(header);
range.setFontWeight("bold")
// Get events based on filters
var events = (searchText == '') ? calendar.getEvents(startDate, endDate) : calendar.getEvents(startDate, endDate, {search: searchText});
// Display events
for (var i=0; i<events.length; i++) {
var row = i+7;
var details = [[events[i].getTitle(), events[i].getDescription(), events[i].getStartTime(), events[i].getEndTime(), events[i].getLocation(), events[i].getGuestList(), ]];
range = sheet.getRange(row,1,1,6);
range.setValues(details);
// Format the Start and End columns
var cell = sheet.getRange(row, 3);
cell.setNumberFormat('mm/dd/yyyy hh:mm');
cell = sheet.getRange(row, 4);
cell.setNumberFormat('mm/dd/yyyy hh:mm');
}
}
检查每位客人的客人状态以获取出席者
更改此:
var details = [[events[i].getTitle(), events[i].getDescription(), events[i].getStartTime(), events[i].getEndTime(), events[i].getLocation(), events[i].getGuestList(), ]];
对此:
var details = [[events[i].getTitle(), events[i].getDescription(), events[i].getStartTime(), events[i].getEndTime(), events[i].getLocation(), events[i].getGuestList().filter(g => g.getGuestStatus() == CalendarApp.GuestStatus.YES), ]];