我正在接收来自客户的黑色日期信息,需要在Google日历上标记它们。
客户只需检查表单上的假日,并且需要在日历上将其突出显示为关闭日期。
Google日历脚本似乎没有提供请求公共假日日期的方法。有没有办法这样做?
答案 0 :(得分:1)
如何在App脚本中使用Calendar API获取公共假期
1.根据您希望查看的国家/地区的公众假期,获取您的calendarId here。
2.使用App Script文档提供的代码fetching list of Events:
function listNext10Events() {
var calendarId = 'en.indian#holiday@group.v.calendar.google.com'; //I'm fetching Indian public holidays
var now = new Date();
var events = Calendar.Events.list(calendarId, {
timeMin: now.toISOString(),
singleEvents: true,
orderBy: 'startTime',
maxResults: 10 //set number of holidays you'd like to see, 10 for now
});
if (events.items && events.items.length > 0) {
for (var i = 0; i < events.items.length; i++) {
var event = events.items[i];
if (event.start.date) {
// All-day event.
var start = parseDate(event.start.date);
Logger.log('%s (%s)', event.summary, start.toLocaleDateString());
} else {
var start = parseDate(event.start.dateTime);
Logger.log('%s (%s)', event.summary, start.toLocaleString());
}
}
} else {
Logger.log('No events found.');
}
}
function parseDate(string) {
var parts = string.split('T');
parts[0] = parts[0].replace(/-/g, '/');
return new Date(parts.join(' '));
}
要使用高级Google服务,请按以下说明操作:
一个。在脚本编辑器中,选择Resources&gt;高级Google服务......
湾在出现的对话框中,单击要使用的服务旁边的开/关开关。
℃。在对话框的底部,单击Google Developers Console的链接。
d。在控制台中,单击过滤器框并键入API名称的一部分(例如,“日历”),然后在看到名称后单击该名称。
即在下一个屏幕上,单击“启用API”。
保存项目并运行。
查看日志以查看公众假期。