Google calendar api 多个谷歌日历到谷歌工作表双向同步问题
您好,我正在尝试修改一个脚本,同步谷歌日历与谷歌工作表。 从日历到工作表,从工作表到日历 目前,日历ID是在google代码中的这一行手动输入的:Google calendar api 多个谷歌日历到谷歌工作表双向同步问题,google-calendar-api,google-sheets-api,submenu,Google Calendar Api,Google Sheets Api,Submenu,您好,我正在尝试修改一个脚本,同步谷歌日历与谷歌工作表。 从日历到工作表,从工作表到日历 目前,日历ID是在google代码中的这一行手动输入的: var calendarId='0(calendarid@group.calendar.google.com“; 这是由Dave Par的剧本 我修改了显示如下的菜单: var ui = SpreadsheetApp.getUi(); var subMenu = SpreadsheetApp.getUi().createMenu('Updat
var calendarId='0(calendarid@group.calendar.google.com“;
<>这是由Dave Par的剧本
我修改了显示如下的菜单:
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都能够有一个子菜单,作为使用下面的函数填充的所有日历的下拉列表
var日历,pageToken;
做{
日历=Calendar.CalendarList.list({
最大结果:100,
pageToken:pageToken
});
if(calendars.items&&calendars.items.length>0){
对于(var i=0;i
因此,基本上可以选择一个特定的日历来运行函数SyncTocalendar和函数SyncFromCalendar
我们将非常感谢为实现这一目标提供的任何帮助
我看到过一个主题,它是在一个单元格上完成的,您只需更改一个id,所以我希望这个脚本可以修改为在子菜单下拉列表中显示日历名称
您最好的选择是更改
syncToCalendar
和syncFromCalendar
以输入参数。但这是不可能的,因为通过菜单执行的函数不带参数。您可以看到非常类似的问题
如果日历的数量是固定的,并且很少,您可以尝试只包装这两个函数,并根据菜单中的“完成”调用其中一个或另一个
但是,如果您遇到大量无法静态包装的日历,您应该尝试使用构造函数动态包装。这将为您提供一种在运行代码时创建函数的方法,请参阅
您也可以尝试其他方法,例如,您可以创建一个获取所有日历ID的窗口,并从该单元格获取日历ID。您好,谢谢您的帮助,不幸的是,我是一个非常新手的程序员,但我想学习!您是否有机会为我创建一个您在google的应用程序中提供的最后3个解决方案的工作示例床单?
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);
}