【发布时间】:2019-03-26 22:22:47
【问题描述】:
我正在将一个脚本链接到一个名为“发送到日历”的按钮,该按钮将位于我的工作表中的每个工作表上。我希望脚本:
1) 在 google 日历上创建一个新事件,其名称和日期基于按钮所在工作表上的信息(每张工作表不同的数据,都位于相同的单元格地址)。
2) 在开始日期前 6 周为所有与会者设置提醒。
3) 邀请/添加客人(可能通过将活动作为电子邮件发送到非 gmail 地址?我对它的外观很灵活,只要我可以自动邀请客人。)
4) 将所有这些邀请的 colorId 设置为“3”(淡紫色),或默认事件颜色以外的任何颜色。 (这很好,但可选。)
我一直在根据 Google 的示例和我在此站点上找到的一些答案拼凑脚本,但没有一个完全符合我的要求。我还启用了 Google 高级服务 (https://developers.google.com/apps-script/guides/services/advanced),因为我读到问题可能出在 Google API 权限上,但我启用它已经过去了几个小时,但仍然无法正常工作。我不确定这是否有所作为。
我认为这很接近,但它返回 404 错误,我不知道为什么。
function createEvent() {
var vSS = SpreadsheetApp.getActiveSpreadsheet();
var vS = vSS.getActiveSheet();
var vEventName = vS.getRange("M5").getValue();
var start = vS.getRange("M6").getValue();
var end = vS.getRange("H3").getValue();
var calendar = CalendarApp.getCalendarById(
'example@gmail.com');
var event = calendar.createEvent; {vEventName;
new Date(start);
new Date(end);
attendees: [
{email: 'example@example.com'},
{email: 'example@example.com'}
];
colorId: 3
};
event = Calendar.Events.insert(event, calendar);
Logger.log('Event ID: ' + event.id);
}
这会成功在我的日历上创建一个活动,但不会添加客人、创建提醒或更改颜色。 (发现这里:Google Apps Script - Creating Calendar Events)
function createEvent() {
var vSS = SpreadsheetApp.getActiveSpreadsheet();
var vS = vSS.getActiveSheet();
var vStartDate = vS.getRange("M5").getValue();
var vEndDate = vS.getRange("M6").getValue();
var vEventName = vS.getRange("H3").getValue();
var calendar = CalendarApp.getCalendarById(
'example@gmail.com');
var event = calendar.createEvent(vEventName,
new Date(vStartDate),
new Date(vEndDate));
Logger.log('Event ID: ' + event.getId());
}
感谢您提供任何帮助,特别是如果您能够添加一些“//”解释有关部分代码的工作原理。我是脚本新手,并试图自学。感谢收看!
【问题讨论】:
标签: google-apps-script google-calendar-api