7

我正在尝试使用 API 将一些事件导出到谷歌日历,特别是包装它的 python 库。这些事件具有重复性,这是使用 RRULE 字符串定义到 Google 日历的,我正在尝试使用 EXDATE 字符串排除某些日期。

这是我要发送的内容:

{
    "summary": "Test Event", 
    "description": "Event", 
    "location": "Home", 
    "start": {
        "timeZone": "America/New_York", 
        "dateTime": "2014-09-05T10:30:00"
    }, 
    "end": {
        "timeZone": "America/New_York", 
        "dateTime": "2014-09-05T11:35:00"
    }, 
    "recurrence": [
        "RRULE:FREQ=WEEKLY;WKST=SU;BYDAY=FR;UNTIL=20141203T173500Z", 
        "EXDATE:20141002"
    ], 
}

它正确导出所有内容,但不尊重 EXDATE。嗯,这是一种尊重。在日历中,该事件仍然存在,但它将重复描述为“每周一、三、四上午 10:30,从 9 月 3 日星期三到 12 月 3 日星期三,10 月 2 日星期四除外”。

“除了 Thu Oct 2”部分意味着它正在正确解析 EXDATE(如果我在 EXDATE 中发送垃圾,它不会运行,所以它正在解析它),但事件仍然发生

4

2 回答 2

12

EXDATE 必须与开始和结束的格式相同。这意味着如果开始是有时间的事件,则 EXDATE 也必须指定时间。我建议阅读 rfc 5545 ( https://www.rfc-editor.org/rfc/rfc5545 ) 中的相关内容。

于 2014-08-06T23:03:53.880 回答
4

对于遇到类似情况的其他人,

EXDATE;TZID=America/New_York:20140905T103000

应该管用。

于 2016-06-08T11:07:00.380 回答