2013-07-01 63 views
2

我有一個用戶可以預訂會議室的系統(用PHP編寫)。系統應向用戶發送會議請求,他們應該能夠將其他與會者添加到此會議中。以編程方式(包括與會者)管理Outlook會議請求

目前,我通過創建通過電子郵件發送給用戶的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:[email protected] 
ATTENDEE;CN="First LASTNAME2";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected] 
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 

任何人都可以請我指出正確的方向嗎?提前致謝!

回答

0

可以通過在日曆組件中包含多個「ATTENDEE」 屬性來指定多個與會者。

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

你幾乎沒有你只要,只要在你的與會者(你只需要添加此刻的初級) 的列表添加爲您的Exchange電子郵件地址添加它們是會自動將它們添加到Outlook並填充每個人的日曆。如果你不使用交換,你也需要把所有的參與者都發送出去

+0

謝謝你的回答!你的意思是添加另一行,如ATTENDEE; CN =「First LASTNAME2」; ROLE = REQ-PARTICIPANT; RSVP = TRUE:MAILTO:[email protected] etc?我試過了(對不起,沒有在示例中顯示),但它並沒有在Outlook中添加新的參與者:( –

+0

)如果你做得對,它確實(我在我的平臺中使用完全相同的解決方案)現在前景變幻無常,你可能不得不如果您正在運行交換服務器,請爲用戶指定ldap目的地,閱讀規範鏈接,他們給出了組織者+2 +與會者 – Dave

+0

的多個與會者的示例我似乎沒有得到它的工作:(所以你設法發送ics文件作爲電子郵件發送給幾個用戶,他們被設置爲與會者,並且用戶能夠看到其他與會者?我甚至用Outlook中的與會者保存了一個會議(在Outlook中創建),並將其打開。沒有與會者!這可能是Outlook 2003的問題嗎? –