Node.js 如何基于用户触发NodeJS服务';s日历事件

Node.js 如何基于用户触发NodeJS服务';s日历事件,node.js,calendar,google-calendar-api,webhooks,pipedream,Node.js,Calendar,Google Calendar Api,Webhooks,Pipedream,我试图允许用户使用日历服务(如Google calendar、Outlook)登录到web应用程序,然后每当他们的日历事件开始或结束时,我希望触发NodeJS服务 我的想法是尝试以以下方式使用pipedream.com(虽然这只是一个想法,但很乐意使用另一种方法): 1. User logs in to their calendar service via my web app, or perhaps provides a webhook or equivalent 2. I store the

我试图允许用户使用日历服务(如Google calendar、Outlook)登录到web应用程序,然后每当他们的日历事件开始或结束时,我希望触发NodeJS服务

我的想法是尝试以以下方式使用
pipedream.com
(虽然这只是一个想法,但很乐意使用另一种方法):

1. User logs in to their calendar service via my web app, or perhaps provides a webhook or equivalent
2. I store their calendar credentials and then pass them to a service such as Pipedream
3. On calendar event start or end, Pipedream then triggers my NodeJS service
我一直在研究如何将用户的日历凭证/webhook传递给Pipedream,因为它需要在安装时登录:


任何帮助都将不胜感激

Firebase云函数将是一个很好的解决方案。云函数触发器允许以非常简单的方式执行serverless node.js函数:

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

最大的优点是,您只需为函数的执行时间付费,因此您无需担心服务器在会议(触发函数)之前处于空闲状态。

pipedream是本项目的一项要求吗?Firebase有一些很好的云函数触发器,可以很好地满足您的需要。不,这根本不是,只是一个使用Pipedream的想法。非常感谢@Harry会调查的!非常感谢你的回答@Harry!这看起来很棒,但你怎么能想象它会被日历事件触发呢?您是否认为我会不断获取用户的日历事件,然后根据事件的开始和完成时间设置cronjobs?是的,没错,您可以自动完成。只需将事件时间拉入数据库(例如,如果您在Firebase生态系统中,请使用Cloud Firestore),并使用在添加新事件时触发的另一个函数来获取事件时间并安排cronjob。如果这似乎是一个解决方案,请随时将问题标记为已解决,并/或对答案进行追加投票。请确保已追加投票。我正在研究是否有一个更简单的解决方案(例如),如果没有,我将继续你的解决方案并勾选它