Как я могу загрузить файл iCal в календарь пользователя

#java #android #calendar #google-calendar-api #icalendar

#java #Android #Календарь #google-calendar-api #icalendar

Вопрос:

Я пытался найти решения о том, как сохранить файл iCal в календаре пользователя, но я просто не смог его найти. Я нашел такие вещи, как запись файла iCal и его чтение, но я хочу, чтобы он был помещен в календарь пользователя. Как я могу это сделать?

Цель, которую я хочу архивировать: укажите URL-адрес файла iCal, который я хочу импортировать в календарь пользователя. Как я могу это сделать?

Пример URL: https://abc.xyz.nl/api/v2/ical?access_token=accestokenamp;startWeekOffset=-1amp;endWeekOffset=2amp;valid=trueamp;user=me

Редактировать:
Как я могу подписаться на пользователя по этой ссылке?

Ответ №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. Но, я думаю, вам нужно убедиться, что в файле не так много событий.