2016-05-18 5 views
0

Я работаю над приложением, которое предоставляет пользователю файл .ics (iCalendar) с некоторыми событиями. Этот файл отправляется по электронной почте, и я понял, что иногда gmail позволяет автоматически добавлять, а иногда и нет. Кто-нибудь знает, почему это происходит? Мой ектронное файл с 9 событий:Почему иногда Gmail позволяет мне автоматически добавлять файл icalendar, а иногда нет?

BEGIN:VCALENDAR 
BEGIN:VEVENT 
SUMMARY:Pràctica 1 de Màquines Elèctriques 
DTSTART;VALUE=DATE-TIME:20160425T160000 
DTEND;VALUE=DATE-TIME:20160425T180000 
LOCATION:Etseib B-B PL-1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 1 de Màquines Elèctriques 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 2 de Màquines Elèctriques 
DTSTART;VALUE=DATE-TIME:20160509T160000 
DTEND;VALUE=DATE-TIME:20160509T180000 
LOCATION:Etseib B-B PL-1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 2 de Màquines Elèctriques 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 3 de Màquines Elèctriques 
DTSTART;VALUE=DATE-TIME:20160530T160000 
DTEND;VALUE=DATE-TIME:20160530T180000 
LOCATION:Etseib B-B PL-1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 3 de Màquines Elèctriques 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 4 de Màquines Elèctriques 
DTSTART;VALUE=DATE-TIME:20160307T160000 
DTEND;VALUE=DATE-TIME:20160307T180000 
LOCATION:Etseib H-5.4 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 4 de Màquines Elèctriques 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 1 de Tecnologia i Selecció de Materials 
DTSTART;VALUE=DATE-TIME:20160502T100000 
DTEND;VALUE=DATE-TIME:20160502T120000 
LOCATION:Etseib E-E -1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 1 de Tecnologia i Selecció de Materials 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 2 de Tecnologia i Selecció de Materials 
DTSTART;VALUE=DATE-TIME:20160509T100000 
DTEND;VALUE=DATE-TIME:20160509T120000 
LOCATION:Etseib E-E -1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 2 de Tecnologia i Selecció de Materials 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 3 de Tecnologia i Selecció de Materials 
DTSTART;VALUE=DATE-TIME:20160523T100000 
DTEND;VALUE=DATE-TIME:20160523T120000 
LOCATION:Etseib E-E -1 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 3 de Tecnologia i Selecció de Materials 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 4 de Tecnologia i Selecció de Materials 
DTSTART;VALUE=DATE-TIME:20160426T120000 
DTEND;VALUE=DATE-TIME:20160426T140000 
LOCATION:Etseib B-B.5 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 4 de Tecnologia i Selecció de Materials 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
BEGIN:VEVENT 
SUMMARY:Pràctica 1 de Termotècnia 
DTSTART;VALUE=DATE-TIME:20160309T120000 
DTEND;VALUE=DATE-TIME:20160309T170000 
LOCATION:Etseib H-H 7.56 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Demà Pràctica 1 de Termotècnia 
TRIGGER:-PT1H 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

ответ

0

У меня была такая же проблема. Иногда событие, отправленное по электронной почте, не будет работать, потому что некоторые свойства недействительны. Я предлагаю вам сравнить источник действительного приглашения с источником того, кто этого не делает, и вы, вероятно, найдете проблему. Вы можете подтвердить источник этого здесь: http://icalendar.org/validator.html

Я запустил код в валидаторе, и, похоже, некоторые свойства отсутствуют.

. Сразу после VCALENDAR должны быть свойства PRODID и VERSION. Даже если они являются обязательными, вам нужно только вставить их один раз в файл ics.

. Для каждого создаваемого вами события вам необходимо указать UID, который является уникальным типом ключа, он может быть любым, пока он уникален. Кроме того, вам понадобится DTSTAMP, который является датой в том же формате, что и DTSTART. Вы можете прочитать о них here.

Кроме того, если вы решили использовать повторяющиеся события, у вас будет 1 событие только с правилом повторения, которое вы можете прочитать на том же сайте, что и два других.

Надеюсь, что смогу помочь.

+0

Я попытался проверить файл icalendar, и весь код хорошо написан. Как вам удалось решить проблему? –

+0

Как я упоминал ранее, проб и ошибок, так как мой файл .ics был строкой, отправленной в виде альтернативного представления по электронной почте. Возможно, если бы вы рассказали мне, как вы создаете файл, и результат, который он дает, я бы смог определить проблему. – SerolfBar

+0

Я добавил код к вопросу. –