事件的 Webhooks 开始于 Google 日历 API

Webhooks for Event start on Google Calendar API

有没有办法在活动开始时或活动开始前不久获取 webhook?

Google 日历 API 允许创建事件提醒。是否可以在事件激活或开始时获取 webhook?

例如,如果我为“2020 年 12 月 15 日 15:45 +0530”创建一个活动,我能否在那个时间或几分钟之前获得网络钩子?

Google 可能正在使用此类 webhook 发送提醒电子邮件或警报。我想用它在我的应用程序中发送通知。

目前在 Google 问题跟踪器上有一个开放的功能请求,以添加 API 日历提醒。

在这种情况下,您可以为问题加注星标 here 并最终添加评论。

解决方法

您可以使用 Apps 脚本创建一个脚本,该脚本将获取特定日期的所有事件并检查它们的开始时间。

function getEvents() {
    let today = new Date();
    let calendar = CalendarApp.getCalendarById(id);
    let events = calendar.getEventsForDay(today);
    let startTime = today.getHours();
    for (let i = 0; i < events.length; i++) {
        if (events[0].getStartTime() <= startTime) {
            // send email, notification etc;
        }
    }
}

之后,您可以添加一个可安装的时间驱动触发器,例如每 15 分钟 运行 来触发上述功能的执行。

function createTrigger() {
  ScriptApp.newTrigger('getEvents')
      .timeBased()
      .everyMinutes(15)
      .create();
}

备注

请记住,您可以根据需要相应地自定义脚本和触发器。

参考

您可以使用 IPaaS 轻松做到这一点

使用 IFTTT 的 Google 日历和 Webhook 小程序, IF=> 任何事件开始(你可以设置多少 minutes/hours ) 然后=> Post Webhooks

你可以设置它;

  • 标题
  • 描述
  • 位置
  • 开始时间
  • 结束时间
  • 事件URL
  • VideoCallURL 在附加 headers、URL 参数中 and/or JSON body.

虽然触发的时间不是那么准确。

或者,您可以使用 Integromat 的 Mailhook 来处理提醒通知。

  1. 在您的 gmail 客户端中设置转发设置以将提醒通知转发到 Integromat 提供的电子邮件地址
  2. 根据邮件内容,向您的终端发起HTTP请求。

你也有这样的服务;

https://mailhook.app/

用于将电子邮件转换为 webhook。

https://cronhooks.io/

用于创建 post webhooks 的时间表。