【问题标题】:Google Calendar API, RRULE and EXDATEGoogle 日历 API、RRULE 和 EXDATE
【发布时间】:2014-09-29 23:02:45
【问题描述】:

我正在尝试使用 API 将一些事件导出到 Google 日历,特别是包装它的 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 日星期四除外”。

“除了 10 月 2 日星期四”部分暗示它正在正确解析 EXDATE(如果我在 EXDATE 中发送垃圾,它不会运行,所以它正在解析它),但是 event still occurs

【问题讨论】:

    标签: google-calendar-api rrule


    【解决方案1】:

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

    【讨论】:

    • 啊哈,谢谢。我之前尝试过为其添加时间,但我没有想到它也必须恰好是事件的开始时间。
    【解决方案2】:

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

    EXDATE;TZID=America/New_York:20140905T103000
    

    应该可以。

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2019-10-24
      • 2017-01-24
      • 1970-01-01
      相关资源
      最近更新 更多