在 Google 日历上检索和标记假期
Retrieve and mark holidays on Google Calendar
我正在接收来自客户的不适用日期信息,需要在 google 日历上标记它们。
客户只需在表格上勾选假期,需要在他们的日历上将其突出显示为休息日。
Google 日历脚本似乎没有提供请求 public 假期日期的方法。有什么办法吗?
如何在 App 脚本中使用日历 API 获取 Public 假期
1.Fetch 您的 calendarId here 根据您想查看哪个国家/地区的 public 假期。
2.Use App Script docs on 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 开发者控制台中启用日历 API。
要使用高级 Google 服务,请按照以下说明操作:
一个。在脚本编辑器中,select 资源 > 高级 Google 服务....
b。在出现的对话框中,单击要使用的服务旁边的 on/off 开关。
c。在对话框底部,单击 Google 开发人员控制台的 link。
d。在控制台中,单击筛选框并键入 API 的部分名称(例如 "Calendar"),然后在看到名称后单击它。
e。在下一个屏幕上,单击启用 API。
保存项目并运行。
查看日志以检查 public 假期。
我正在接收来自客户的不适用日期信息,需要在 google 日历上标记它们。
客户只需在表格上勾选假期,需要在他们的日历上将其突出显示为休息日。
Google 日历脚本似乎没有提供请求 public 假期日期的方法。有什么办法吗?
如何在 App 脚本中使用日历 API 获取 Public 假期
1.Fetch 您的 calendarId here 根据您想查看哪个国家/地区的 public 假期。
2.Use App Script docs on 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 开发者控制台中启用日历 API。
要使用高级 Google 服务,请按照以下说明操作:
一个。在脚本编辑器中,select 资源 > 高级 Google 服务....
b。在出现的对话框中,单击要使用的服务旁边的 on/off 开关。
c。在对话框底部,单击 Google 开发人员控制台的 link。
d。在控制台中,单击筛选框并键入 API 的部分名称(例如 "Calendar"),然后在看到名称后单击它。
e。在下一个屏幕上,单击启用 API。
保存项目并运行。
查看日志以检查 public 假期。