Google 日历网络界面生成重复序列,直到日期早于开始时间

问题描述 投票:0回答:1

重现步骤

  1. 使用 Google 日历的网络界面创建新的定期事件。然后通过API获取事件数据。以下是供参考的 JSON 片段:
{
  "summary": "test recur move last",
  "start": {
    "dateTime": "2023-10-09T10:00:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "end": {
    "dateTime": "2023-10-09T10:30:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "recurrence": [
    "RRULE:FREQ=DAILY;UNTIL=20231011T205959Z"
  ]
}
  1. 将事件系列的最后一次发生时间从 2023 年 10 月 11 日移至 2023 年 10 月 14 日。选择“此及后续”选项。

Google 日历随后会将原始系列分成两个单独的系列:

第一系列:

{
  "summary": "test recur move last",
  "start": {
    "dateTime": "2023-10-09T10:00:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "end": {
    "dateTime": "2023-10-09T10:30:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "recurrence": [
    "RRULE:FREQ=DAILY;UNTIL=20231010T205959Z"
  ]
}

第二辑:

{
  "summary": "test recur move last",
  "start": {
    "dateTime": "2023-10-14T10:00:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "end": {
    "dateTime": "2023-10-14T10:30:00+03:00",
    "timeZone": "Europe/Kiev"
  },
  "recurrence": [
    "RRULE:FREQ=DAILY;UNTIL=20231011T205959Z"
  ]
}

问题: 第二个系列于 2023 年 10 月 14 日开始,但“直到”日期为 2023 年 10 月 11 日。从逻辑上讲,该系列不应出现任何事件。但是,Google 日历仍然显示 2023 年 10 月 14 日发生了一次。

问题: 这种行为是故意的还是错误?

google-api google-calendar-api
1个回答
0
投票

您所看到的是预期行为。 JSON 中显示为 10 月 11 日的日期是重复发生时设置的原始日期,并且事件的功能并不是为了移动而设计的。然而,它仍然为我们提供了这样做的灵活性。如果事件已移动,现在唯一会改变的是开始日期和结束日期。请注意,Google 日历现在将已移动的活动视为常规活动。如果您删除了您创建的原始重复出现,则被移动的重复出现将不会被包括在内。

如果您希望对此进行检查,您可以随时尝试提交功能请求,因为这是向 Google 告知此类事情的最佳方式。

© www.soinside.com 2019 - 2024. All rights reserved.