我们正在系统中创建一个iCalendar .ics文件,以便我们的用户可以向Outlook添加约会。新要求是我们在Outlook中显示Accept / Tentative / Decline选项以及RSVP。我可以通过在.ics中添加ATTENDEE和ORGANIZER行来实现这一目的,如下所示:
ATTENDEE;RSVP=TRUE:
ORGANIZER;CN="Test Organizer":mailto:test@test.com
但是,我遇到了Outlook返回“操作失败”的特殊情况。当我第一次在Outlook中打开.ics时,在它实际保存到我的日历中之前,如果我在此时单击“接受/暂定/拒绝”,则会出现“操作失败”。如果我将它保存到我的日历中之后就会这样做,那么它可以正常工作(如果我将其删除,则RSVP会发送,并且接受/暂定/拒绝工作完全符合预期)。以下是视频:http://screencast.com/t/BBUzYRwCJ
我做错了什么?我是否从.ics文件中省略了一些重要内容?这是完整的文件,除了这种情况外,它的效果很好:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ICSTestCS/
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:STANDARD
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:0300
TZOFFSETTO:0200
TZNAME:GMT
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:0200
TZOFFSETTO:0300
TZNAME:GMT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;RSVP=TRUE:
ORGANIZER;CN="Test Organizer":mailto:test@test.com
DTSTART;TZID=Europe/London:20140522T090000
DTEND;TZID=Europe/London:20140522T103000
SUMMARY:Test Course
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Test Course Description
LOCATION:Test Office
UID:1
SEQUENCE:0
DTSTAMP:20140522T090000
END:VEVENT
END:VCALENDAR
答案 0 :(得分:3)
我似乎已经解决了我的问题,包括:
METHOD:REQUEST
位于VERSION:2.0下的文件顶部
答案 1 :(得分:0)
你应该有一个mailto:uri作为ATTENDEE值,例如
ATTENDEE;RSVP=TRUE:someattendee@test.com