2014-10-01 8 views
1

Я работаю над приложением OSX, где я хочу создавать события календаря, добавлять некоторых участников, добавлять событие в календарь пользователя и отправлять приглашения посетителям. Сначала я думал, что могу использовать фреймворк Eventkit, но по какой-то причине вы не можете добавлять участников к событию, созданному Eventkit. Вместо этого я создаю файл .ics (см. Пример ниже). Я могу добавить файл .ics в Календарь и отправить его как вложение в почте в качестве приглашения. Посетитель может добавить его в свой календарь и выбрать принять в разделе rsvp. Однако организатор так и не получил его. Я понятия не имею, как заставить это работать и не удалось найти какие-либо примеры. Это просто невозможно или что я делаю неправильно.Получение ответа rsvp из созданного файла .ics

Любая помощь приветствуется

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-сервер? В этом случае сервер считается ответственным за планирование. В любом случае вам необходимо убедиться, что электронные письма ATTENDEE и ORGANIZER соответствуют учетным записям на соответствующей учетной записи CalDAV. – hnh

+0

@hnh Почтовая почта посетителя была почтой обмена, когда я изменил ее на почту iCloud, она отправляет ответ электронной почты организатору с новым файлом .ics. Однако приложение «Календарь» ничего не делает при добавлении нового файла .ics. –

+0

Это немного сложно отладить через SO. Но опять же, важно, чтобы получить правильные адреса для планирования. Они должны соответствовать правильно. Если вы подключены к серверу CalDAV, вероятно, лучше просто нажать приглашение на собрание на сервер и позволить ему выполнять планирование. – hnh

ответ

1

У меня тоже была такая же проблема. И теперь я нашел решение. Это может быть исправлено по строке RSVP=TRUE, кажется, вы уже добавили это. Так что удалить РОЛЬ и PARTSTAT в ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEED-ACTION;RSVP=TRUE:mailto:[email protected] и сделать его, как показано ниже.

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

Вышеуказанная строка достаточно.

+0

Не должно иметь никакого значения, хотя ... значения «PARTSTAT» и «ROLE» являются значениями по умолчанию. – DdW

+0

@DdW нет большой разницы, но этот «ROLE = REQ-PARTICIPANT, PARTSTAT = NEED-ACTION» создает беспорядок в ответ rsvp. Кроме того, это исправление работало для меня, когда я столкнулся с этой проблемой. – Balaji

 Смежные вопросы

  • Нет связанных вопросов^_^