Я пытаюсь создать файл ICS для добавления событий в календарь Google по электронной почте.В конце концов, календарь будет отправлен нескольким пользователям из настольного приложения.В идеале я хотел бы иметь возможность изменять календарь, если события меняются (только время событий, я игнорирую отмененные события)
Вот мой файл ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//MY COMPANY//Calendar//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:shift-439-emp-128@mycompany.com
DTSTART:20180604T090000
DTEND:20180604T153000
DTSTAMP:20180519T081800
SUMMARY:Morning shfit
LOCATION:Morning Location
DESCRIPTION:Morning shift
END:VEVENT
BEGIN:VEVENT
UID:shift-446-emp-128@mycompany.com
DTSTART:20180605T153000
DTEND:20180605T233000
DTSTAMP:20180519T081800
SUMMARY:Night shift
LOCATION:
DESCRIPTION:Night
END:VEVENT
END:VCALENDAR
Когда яотправьте этот файл в мою учетную запись gmail, и я вижу кнопку «Добавить в календарь Google», которую я могу использовать для добавления событий в мой основной календарь.
Теперь, скажем, время событий изменилось.
Вопрос : Как я могу создать новый файл ICS с новым временем, чтобы существующие события были изменены в календаре Google?
Я использовал UID для событий, чтобыGoogle не создает повторяющиеся записи.Но когда я отправляю по электронной почте второй файл ics с измененными событиями (с uids), кнопка «добавить в календарь Google» не появляется.Если я пытаюсь вручную импортировать файл ics из функции импорта календаря Google, то я получаю это сообщение об ошибке
Не удается загрузить ваши события, поскольку у вас недостаточно прав доступа к целевому календарю.
Если я каждый раз устанавливаю разные UID, процесс импорта будет работать, но будут создаваться повторяющиеся записи.
Я также попытался использовать REQUEST
вместо PUBLISH
метод
Спасибо