【发布时间】:2019-12-17 01:37:57
【问题描述】:
您好,我正在尝试修改将谷歌日历与谷歌表格同步的脚本。 从日历到工作表以及从工作表到日历。
目前日历ID是在google代码的这一行手动输入的:
var calendarId = '(calendarid@group.calendar.google.com';
这是来自 Dave Par https://github.com/Davepar/gcalendarsync 的脚本
我修改了显示的菜单如下:
var ui = SpreadsheetApp.getUi();
var subMenu = SpreadsheetApp.getUi().createMenu('Update to Calendar')
.addItem('Update to Calendar', 'syncToCalendar')
var topMenu = SpreadsheetApp.getUi().createMenu('Calendar Sync')
.addItem('Update from Calendar', 'syncFromCalendar')
.addSubMenu(subMenu);
topMenu.addToUi();
}
我想要做的是在菜单中获取两个函数 SyncToCalendar 和 SyncFromCalendar 中的每一个,以便能够使用以下函数将子菜单作为下拉列表填充我的所有日历
https://developers.google.com/calendar/v3/reference/calendarList/list#examples
var calendars, pageToken;
do {
calendars = Calendar.CalendarList.list({
maxResults: 100,
pageToken: pageToken
});
if (calendars.items && calendars.items.length > 0) {
for (var i = 0; i < calendars.items.length; i++) {
var calendar = calendars.items[i];
Logger.log('%s (ID: %s)', calendar.summary, calendar.id);
}
} else {
Logger.log('No calendars found.');
}
pageToken = calendars.nextPageToken;
} while (pageToken);
}
所以基本上能够选择一个特定的日历来运行函数 SyncTocalendar 和函数 SyncFromCalendar。
我们将不胜感激。
我看到一个主题是在一个单元格上完成的,你只需更改一个 id,所以我希望这个脚本可以修改为在子菜单下拉菜单中显示日历名称?
【问题讨论】:
标签: google-calendar-api google-sheets-api submenu