如何以用户可以使用 URL 订阅的方式通过 NodeJS API 提供 ics 文件?

How to serve an ics file through NodeJS API in a way that user can subscribe using URL?

所以我在 Google 云存储中有我的 ics 文件,我想通过我的 API 提供它,所以我不必制作 ics 文件 public。但是,我不确定这样做的正确方法是什么,以便用户可以将 link 作为 webcal link 放入他们的 Google 日历中的我的 api 电话中订阅日历。

这可能吗,还是我必须直接向 ICS 文件提供 link 以便用户能够订阅日历?如果可能的话,我将如何在 NodeJS 中提供文件?

示例: https://storage.googleapis.com/example/calendar.ics 将能够通过 https://api.com/example/userID/calendars

提供服务

webcal://api.com/example/userID/calendars 将在 Google 日历中用于订阅日历

所以我有两个选择:

  1. 将对 ICS 文件的访问权限更改为 public,然后将 URL 共享给用户。但是,在我想删除或更改文件名的情况下,这种方法不允许我动态更改文件。
  2. 通过我的 API 提供 ICS 文件 - 我最初在原始 post 中询问的方法。

所以对于方法 2,我基本上只需要做 gcs.bucket('bucket_name').file('file path to ics file in bucket').download((error, content) => res.send(content))