Google Calendar API,RRULE和EXDATE

时间:2014-08-06 20:59:14

标签: google-calendar-api rrule

我正在尝试使用API​​将一些事件导出到Google Calendar,特别是包装它的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。嗯,这有点受人尊敬。在日历中,该事件仍然存在,但它将重复描述为“周一,周三,周四从9月3日星期三到12月3日星期四上午10:30每周一次,除了10月2日星期四”。

“除了Thu Oct 2”部分意味着它正在正确解析EXDATE(如果我在EXDATE中发送垃圾,它将不会运行,因此它正在解析它),但是event still occurs。< / p>

2 个答案:

答案 0 :(得分:10)

EXDATE必须与开头和结尾的格式相同。这意味着如果开始是一个有时间的事件,EXDATE也必须有指定的时间。我建议在rfc 5545(http://tools.ietf.org/html/rfc5545)中阅读。

答案 1 :(得分:3)

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

EXDATE;TZID=America/New_York:20140905T103000

应该有效。