2

所以我试图用谷歌数据api创建一个定期日历事件,我遇到了很多麻烦。当我去添加事件时,它只会添加事件的一个实例(第一天)。更奇怪的是,当我去删除它时,它会询问我是否要删除此重复中的所有事件(即使它存在之后没有!)。

这是我正在使用的 iCal 经常性 VEVENT:

DTSTART;TZID=America/New_York:20110905T122000
DTEND;TZID=America/New_York:20110905T131000 
RRULE:FREQ=WEEKLY;UNTIL=20111222T230000;BYDAY=MO 

有什么想法吗?

4

2 回答 2

0

您也可以尝试在 RRULE 中指定 TZID,我相信这是必需的。

于 2011-09-01T16:56:51.537 回答
0

我知道这是一个老问题,但是在使用Google.Apis.Calendar.v3.Net我遇到了同样的问题。

我发现当我指定OriginalStartDateTime我的 Recurrence 时没有被评估。它会创建一个事件,但不会重复发生。

解决方案非常简单: nullify OriginalStartDateTime

var e = new Event
        {
            Description = "TEST EVENT",
            Location = "Computer",
            Summary = "Test Event. Safe to delete.",
            Start = new EventDateTime{DateTime = new DateTime(2017,05,16, 3, 30, 00), TimeZone = "America/Chicago"}, // This is used as the OriginalStartTime
            End = new EventDateTime{DateTime = new DateTime(2017,05,16, 4, 00, 00), TimeZone = "America/Chicago"}, // This is used as the OriginalStartTime
            ICalUID = Guid.NewGuid().ToString(),
            Organizer = new Event.OrganizerData
            {
                DisplayName = "Test Event"
            },
            Recurrence = new [] { "RRULE:FREQ=WEEKLY;BYDAY=TU,TH;UNTIL=20180701T170000Z" },

            // When set, event does not repeat.
            OriginalStartTime = null //  new EventDateTime{DateTime = new DateTime(2017,05,16), TimeZone="America/Chicago"}
        };

        ... GET SERVICE CODE ...

        var request = googleCalendarService.Events.Import(e, GoogleCalendarId);
        var result = request.Execute();
        return result;
于 2017-10-20T14:27:19.340 回答