使用ical以编程方式(包括与会者)管理Outlook会议请求

时间:2013-07-01 14:56:59

标签: php outlook icalendar

我有一个系统(用PHP编写),用户可以在其中预订会议室。系统应该向用户发送会议请求,他们应该能够将其他与会者添加到此会议中。

目前,我通过创建通过电子邮件发送给用户的iCalendar事件来部分解决了这个问题。问题是Outlook(由所有用户使用)不提供添加任何与会者的可能性(我猜这是因为它是由外部程序创建的会议请求?)。 他们唯一的选择是转发请求。但这有几个缺点,例如与预订系统无关。

问题:有没有办法在PHP中以编程方式管理会议请求,包括管理与会者?

主要问题似乎是增加与会者。 我尝试了类似下面的ics文件,但是参与者只是被忽略了。

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
TRANSP:TRANSPARENT
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
ATTENDEE;CN="First LASTNAME";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:First.LASTNAME@domain.tld
ATTENDEE;CN="First LASTNAME2";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:First.LASTNAME2@domain.tld
CLASS:PUBLIC
UID:' . $booking->id . '
SEQUENCE:' . $booking->sequence_id . '
DTSTAMP:'.date('Ymd\THis', $booking->created).'
DTSTART:' . $booking->start . '
DTEND:' . $booking->end . '
SUMMARY:' . $booking->subject. '
LOCATION:' . $booking->location . '
CREATED:'.date('Ymd\THis', $booking->changed).'
DESCRIPTION:' . $booking->description . '
X-MS-OLK-ALLOWEXTERNCHECK:TRUE
X-MS-OLK-AUTOFILLLOCATION:FALSE
X-MS-OLK-CONFTYPE:0
X-MICROSOFT-DISALLOW-COUNTER:FALSE
END:VEVENT
END:VCALENDAR

任何人都可以指出我正确的方向吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

可以通过包含多个“ATTENDEE”来指定多个与会者 日历组件中的属性。

http://www.kanzaki.com/docs/ical/attendee.html

你几乎就在那里你只需添加你的参加者名单(你现在只添加小学) 只要您使用交换电子邮件地址添加它们,它就会自动将它们添加到Outlook中并填充每个人的日历。如果您不使用交换,您还需要向所有与会者发送