2014-10-01 42 views
1

我正在創建日曆事件的OSX應用程序,添加一些與會者,將事件添加到用戶日曆,並向與會者發送邀請。首先,我認爲我可以使用Eventkit框架,但出於某種原因,您無法將參與者添加到Eventkit創建的事件中。相反,我創建一個.ics文件(請參閱下面的示例)。我可以將.ics文件添加到日曆中,並將其作爲附件發送到郵件中作爲邀請。與會者可以將其添加到他自己的日曆中,並選擇rsvp部分中的接受。但是,組織者從未接受他的接受。我不知道如何讓這個工作,並沒有找到任何例子。這是不可能的,或者我做錯了什麼。從創建的.ics文件獲取rsvp響應

任何幫助表示讚賞

BEGIN:VCALENDAR 
PRODID:-//Org//App//EN 
VERSION:2.0 
METHOD:REQUEST 
BEGIN:VEVENT 
UID:[email protected]://localhost/www/ 
CREATED:20140920T150350Z 
DTSTAMP:20140921T080800Z 
DTSTART:20140921T080800Z 
DTEND:20140922T060800Z 
DESCRIPTION:Attend this meeting 
SUMMARY:Meeting invitation 
LOCATION:The office 
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION;RSVP=TRUE:mailto:[email protected] 
ORGANIZER;CN=organizerName:mailto:[email protected] 
LAST-MODIFIED:20140921T080800Z 
PRIORITY:1 
SEQUENCE:0 
STATUS:CONFIRMED 
TRANSP:TRANSPARENT 
END:VEVENT 
END:VCALENDAR 
+0

組織者/與會者的日曆是否存儲在CalDAV帳戶中?像iCloud或OSX服務器?在這種情況下,服務器被認爲是負責調度。無論如何,您需要確保參加者和組織者電子郵件與相應CalDAV賬戶上的賬戶相匹配。 – hnh 2014-10-06 13:06:48

+0

@hnh與會者郵件是交換郵件,當我將其更改爲iCloud郵件時,它會向新的.ics文件發送電子郵件答覆給組織者。但是,添加新的.ics文件時,日曆應用不執行任何操作。 – 2014-10-07 19:48:00

+0

通過SO進行調試有點困難。但是,重要的是要調整地址。他們需要正確匹配。如果您連接到CalDAV服務器,則最好將PUT會議邀請發送到服務器,並讓它執行計劃。 – hnh 2014-10-08 12:25:41

回答

1

我也有同樣的問題。現在我找到了解決方案。 這可以通過行RSVP=TRUE修復,似乎你已經添加了。 所以刪除作用PARTSTATATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION;RSVP=TRUE:mailto:[email protected],使之如下。

ATTENDEE;RSVP=TRUE:mailto:[email protected] 

上面的行就夠了。

+0

雖然...... PARTSTAT和ROLE的值是默認值,但不應有任何區別。 – DdW 2016-07-28 14:08:14

+0

@DdW沒有太大區別,但是這個'ROLE = REQ-PARTICIPANT; PARTSTAT = NEED-ACTION'使得rsvp響應變得混亂。當我遇到這個問題時,這個修復也適用於我。 – Balaji 2016-08-01 04:52:59