为了在Outlook中为多个与会者创建会议邀请,ICS文件中应该包含哪些内容?

时间:2015-03-02 21:20:39

标签: outlook icalendar

我想要实现的是在下面的屏幕截图中:它是一个Outlook会议邀请,其中To字段预先指定了指定名称,发送按钮只显示“发送”,其提醒设置为15分钟。

enter image description here

我创建了以下ICS文件并期望它会创建所需的邀请,但它正在做一些不同的事情:“收件人”列表为空白,提醒和“发送”按钮显示为“发送更新”。

由于这应该是从没有登录的公开网页创建的,因此无法设置ORGANIZER,OL应该知道他们是谁。

enter image description here

我在ICS文件中做错了什么? 除OL支持PUBLISHREQUEST之外还有其他方法吗?

BEGIN:VCALENDAR
METHOD:PUBLISH
BEGIN:VEVENT
UID:somethingunique
DTSTART;VALUE=DATE:20150302
DTEND;VALUE=DATE:20150302
ATTENDEE;CN="First Last";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"first_last@test.com"
ATTENDEE;CN="John Doe";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"jdoe@test.com"
ATTENDEE;CN="Et Cetera";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"etc@test.com"
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY;
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

我还尝试更改为使用METHOD:REQUEST,但它会打开,看起来像是对邀请的回复,无法更改主题/位置或添加更多与会者:

enter image description here

当使用REQUEST方法时,邀请存在一些问题:它不可编辑,实际上并未在OL中创建,单击“无需响应”实际上删除了邀请,我最终注意到了(无法保存并发送邀请)。

2 个答案:

答案 0 :(得分:3)

如果它对任何人都有帮助,那么这些变化部分有效:

  1. 不应使用任何方法

  2. 电子邮件地址周围不允许引号!

  3. ;VALUE=DATE不受支持(OL 2010),时间组件必须在那里。

  4. 即使方法REQUEST设置了警报,也不会设置警报。

  5. 根据需要创建会议的ICS代码:

    BEGIN:VCALENDAR
    BEGIN:VEVENT
    UID:somethinguniquehere204832901
    DTSTART:20150303T100000
    DTEND:20150303T100000
    ATTENDEE:john_doe@test.com
    ATTENDEE:jane_doe@test.com
    BEGIN:VALARM
    TRIGGER:-PT15M
    ACTION:DISPLAY
    DESCRIPTION:Reminder
    END:VALARM
    END:VEVENT
    END:VCALENDAR
    

    处理完毕后,表单会有一个Send Update按钮,点击该按钮会创建会议并发送邀请。这仍然不像用户习惯的全新OL会议请求。

答案 1 :(得分:2)

第一个问题:我发现的是:

  1. 您的iCalendar活动必须有一个组织者。
  2. 它也缺少UID
  3. METHOD:PUBLISH错了。它可能应该是REQUEST或根本不在那里,具体取决于具体情况。
  4. ACTIONDISPLAY无效,缺少冒号。
  5. 我建议使用正确的CalDAV / iCalendar客户端应用程序(所以不是Outlook),在那里创建一个邀请事件,然后导出该事件。然后,您可以将其用作iCalendar对象应该的外观模板。