Google 日历 API 周期性事件,EXDate 不工作
Google Calendar API Recurrent Event, EXDate not working
我想在 Google 日历中创建一个周期性事件,其中只有一天。我使用 Google 日历 APi 资源管理器。
以下是请求数据
{
"end": {
"dateTime": "2020-02-24T19:00:00+05:00",
"timeZone": "Asia/Karachi"
},
"start": {
"dateTime": "2020-02-24T18:30:00+05:00",
"timeZone": "Asia/Karachi"
},
"description": "PSL live Streaming ..",
"summary": "PSL live Streaming ..",
"location": "National Stadium Karachi",
"recurrence": [
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU",
"EXDATE;VALUE=DATE:20200225"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 15
},
{
"method": "popup",
"minutes": 15
}
]
}
我收到回复
{
"kind": "calendar#event",
"status": "confirmed",
"summary": "PSL live Streaming ..",
"description": "PSL live Streaming ..",
"location": "National Stadium Karachi",
"start": {
"dateTime": "2020-02-24T18:30:00+05:00",
"timeZone": "Asia/Karachi"
},
"end": {
"dateTime": "2020-02-24T19:00:00+05:00",
"timeZone": "Asia/Karachi"
},
"recurrence": [
"EXDATE;VALUE=DATE:20200225",
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU"
],
"sequence": 0,
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 15
},
{
"method": "popup",
"minutes": 15
}
]
}
}
不应在 25 日创建此活动,但当我转到 google 日历时,看到活动也在 25 日创建。
任何提示,这里出了什么问题?
您在 start
和 end
中提供了 dateTime,在 [=13= 中提供了 date ].
由于您为 start
和 end
提供了 dateTime,因此您还应该在中提供 dateTime EXDATE
,time 部分应与您在 start
中提供的部分相匹配。否则,API 将不知道要排除什么事件。
也就是说,递归应该是这样的:
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU",
"EXDATE;TZID=Asia/Karachi:20200225T183000"
参考:
我想在 Google 日历中创建一个周期性事件,其中只有一天。我使用 Google 日历 APi 资源管理器。 以下是请求数据
{
"end": {
"dateTime": "2020-02-24T19:00:00+05:00",
"timeZone": "Asia/Karachi"
},
"start": {
"dateTime": "2020-02-24T18:30:00+05:00",
"timeZone": "Asia/Karachi"
},
"description": "PSL live Streaming ..",
"summary": "PSL live Streaming ..",
"location": "National Stadium Karachi",
"recurrence": [
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU",
"EXDATE;VALUE=DATE:20200225"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 15
},
{
"method": "popup",
"minutes": 15
}
]
}
我收到回复
{
"kind": "calendar#event",
"status": "confirmed",
"summary": "PSL live Streaming ..",
"description": "PSL live Streaming ..",
"location": "National Stadium Karachi",
"start": {
"dateTime": "2020-02-24T18:30:00+05:00",
"timeZone": "Asia/Karachi"
},
"end": {
"dateTime": "2020-02-24T19:00:00+05:00",
"timeZone": "Asia/Karachi"
},
"recurrence": [
"EXDATE;VALUE=DATE:20200225",
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU"
],
"sequence": 0,
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 15
},
{
"method": "popup",
"minutes": 15
}
]
}
}
不应在 25 日创建此活动,但当我转到 google 日历时,看到活动也在 25 日创建。
任何提示,这里出了什么问题?
您在 start
和 end
中提供了 dateTime,在 [=13= 中提供了 date ].
由于您为 start
和 end
提供了 dateTime,因此您还应该在中提供 dateTime EXDATE
,time 部分应与您在 start
中提供的部分相匹配。否则,API 将不知道要排除什么事件。
也就是说,递归应该是这样的:
"RRULE:FREQ=DAILY;UNTIL=20200229T185959Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU",
"EXDATE;TZID=Asia/Karachi:20200225T183000"