2009-09-10 6 views
2

Я работаю с API календаря (Java). Моим конкретным требованием я хочу добавить участника на мероприятие и в то же время хочу указать календарь участников.Как отправить событие календаря на конкретный календарь участника

Скажем, у меня 2 пользователя. User-A и User-B

Пользователь-A создает событие календаря и добавляет Пользователь-B в качестве участника Календарь пользователя-пользователя Cal-A, а календарь пользователя-B - Cal-B.

Теперь, когда пользователь-А добавляет пользователя-B в качестве участника, событие создается в календаре User-B, но создается в его статичном календаре. Есть ли способ, как я могу указать (используя java api), что приглашение/событие, созданное User-B, должно войти в Календарь-B в User-B?

Примечание: в программе appliciton у меня есть доступ к календарю User-A и календарю User-B.

Заранее спасибо.

ответ

3

Я считаю, что короткий ответ нет ...

Google Calendar, независимо от API или используемого вами языка, основан на стандарте, который Анонсы, от моих показаний этого, не имеют концепция «Пригласить участника и отправить приглашение на мероприятие по этому конкретному календарю этого участника». Если я ошибаюсь, самый быстрый способ получить ответ и доказать, что я ошибаюсь, - это найти доказательства такой функции в документации iCalendar.

Я думал, что у меня было обходное решение, которое «Эй, если у вас есть доступ к кадру человека-B, почему бы просто не создать мероприятие в своем календаре и не добавить человека-А в качестве участника?» Я сделал это, разделив один из моих подкалендаров одной из моих учетных записей Календаря Google на другой. Но, конечно же, у вас есть одна и та же проблема в обратном порядке. Теперь человек-B имеет мероприятие в нужном месте, но человек-A имеет его в своем календаре по умолчанию.

Так что, в зависимости от того, какая ваша «основная» учетная запись, вы можете пойти по этому маршруту, но я предполагаю, что вы находите это столь же привлекательным, как и то, с чем имеете дело.

Единственное другое обходное решение, которое я нашел (что было не так уж хорошо), вы можете получить доступ к кадру Person-B и скопировать приглашение в другой календарь (тот, который вы хотите), а затем удалить его из основного календаря. Это будет работать (я попробовал), но, очевидно, это не так грациозно, как то, что вы имели в виду. Если вам нужна специфика о том, как копировать/удалять или как обращаться к конкретному календарю, отличному от по умолчанию, дайте мне знать, и я опубликую несколько примеров.

0

Возможно (даже если решение не является приятным). Если человек знает идентификатор вашего другого календаря (который является действительным адресом электронной почты), он может отправить приглашение на адрес электронной почты. Идентификатор можно найти в настройках календаря и имеет форму [email protected].

Посмотрите на my other answer по аналогичному вопросу для получения списка недостатков этого решения.