#java #android #calendar #google-calendar-api #icalendar
#java #Android #Календарь #google-calendar-api #icalendar
Вопрос:
Я пытался найти решения о том, как сохранить файл iCal в календаре пользователя, но я просто не смог его найти. Я нашел такие вещи, как запись файла iCal и его чтение, но я хочу, чтобы он был помещен в календарь пользователя. Как я могу это сделать?
Цель, которую я хочу архивировать: укажите URL-адрес файла iCal, который я хочу импортировать в календарь пользователя. Как я могу это сделать?
Редактировать:
Как я могу подписаться на пользователя по этой ссылке?
Ответ №1:
Вы не можете «отправить» файл в календарь пользователя. Вы можете указать URL-адрес ics или ссылку типа «добавить в Google», но то, как обращаться с этим файлом и какое приложение календаря они используют для его обработки, полностью зависит от пользователя
Например: я бы НИКОГДА не хотел «импортировать» ваш URL-адрес (одноразовое событие, обновления не будут выполняться) в мой основной календарь. Я бы с радостью импортировал одно событие, чтобы не вводить его. Если это URL-адрес, я бы предпочел «подписаться» на него как на отдельный календарь, на который я могу отказаться от подписки на более позднем этапе и который я буду видеть обновления, пока я на него подписан.
Комментарии:
1. Хорошо… Я согласен. Как я могу позволить пользователю «подписаться» на него тогда?
2. Чтобы предложить календарь для подписки, нужно просто предоставить общедоступную ссылку на ленту или файл ics. Канал / файл должен иметь тип содержимого text / calendar, заканчиваться суффиксом .ics и содержать допустимые определения событий RFC5545 в допустимом формате. Вы также можете рассмотреть возможность предоставления ссылок на страницы Apple / outlook / Google и т. Д., Которые описывают, как подписаться на URL.
Ответ №2:
Я обнаружил проблему, которая, похоже, показывает, что это невозможно из коробки: https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=210
Поэтому, я думаю, вам нужно самостоятельно проанализировать файл и создать из него объекты календаря Google.
Или вы используете API CalDAV (https://developers.google.com/google-apps/calendar/caldav/v2/guide это поддерживает Icalendar. Но, я думаю, вам нужно убедиться, что в файле не так много событий.