如何使用google日历API处理重复发生的事件?

How to deal with recurring events using the google calendar API?

我正在使用 Google 日历 API 和 nodejs。我有一个应用程序可以让患者预约医生。但首先,我查看了医生的日程表,以确保他们此时没有预约。我如何判断事件是否重复发生?当我进行列表 API 调用时,它会出现多次还是只出现一次?

当你有一个重复事件时,ID 会发生很大变化。例如,常规事件 ID 看起来像 3qoortuglk75k7fjhgmd9k2enn,但重复事件的事件 ID 像 3qoortuglk75k7fjhgmd9k2enn_20220217T160000Z。如果您看到它有与日期和时间相关的附加信息。您可以尝试使用类似的东西来识别事件是否重复发生。

listing events 与 API 时,您还具有请求参数 singleEvents。您可以使用它来仅列出单个事件,并将它们与完整的事件列表进行比较,以查看哪些是重复发生的事件。

Does it show up multiple times when I made a list API call or only once?

默认情况下,它只会出现一次。您需要包含 singleEvents 参数并将其设置为 true,以便重复出现的重复事件显示在 API 响应中(否则仅在第一次重复事件出现时预定将包括在内)。

calendar.events.list({ calendarId: theCalendarId, singleEvents: true })