在 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(' '));
 }
  1. 要成功执行此操作,请在应用程序脚本和 Google 开发者控制台中启用日历 API。

Enabling advanced services:

要使用高级 Google 服务,请按照以下说明操作:

一个。在脚本编辑器中,select 资源 > 高级 Google 服务....

b。在出现的对话框中,单击要使用的服务旁边的 on/off 开关。

c。在对话框底部,单击 Google 开发人员控制台的 link。

d。在控制台中,单击筛选框并键入 API 的部分名称(例如 "Calendar"),然后在看到名称后单击它。

e。在下一个屏幕上,单击启用 API。

保存项目并运行

查看日志以检查 public 假期。