我使用相同的UID以编程方式创建两个ics文件。一个文件有序列号"2130669611“。当我用一个新的(更大的序列号2230669611 )发送一个新的ICS文件时,我得到的错误是,这是一个旧条目,而新的序列号比旧的要大。outlook的序列号有最大值吗?
档案1
BEGIN:VCALENDAR
VERSION:2.0
PRODID:TTSTTS
METHOD:REQUEST
BEGIN:VEVENT
ORGANIZER:MAILTO:XXX@xx.com
ATTENDEE;CN=Manu Bhai;RSVP=TRUE:MAILTO:manu.bhai@xx.com
DTSTART;TZID=UTC+0:20220322T080000Z
DTEND;TZID=UTC+0:20220322T110000Z
LOCATION:>Room.045
TRANSP:OPAQUE
SEQUENCE:2130669611
UID:E00060977P00001158
SUMMARY:Issue with SEQUENCE.
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML>
< html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body class="defaultFont"> Issue with SEQUENCE </body> </html>
PRIORITY:5
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Issue with SEQUENCE
END:VALARM
END:VEVENT
END:VCALENDAR 档案2
BEGIN:VCALENDAR
VERSION:2.0
PRODID:TTSTTS
METHOD:REQUEST
BEGIN:VEVENT
ORGANIZER:MAILTO:XXX@xx.com
ATTENDEE;CN=Manu Bhai;RSVP=TRUE:MAILTO:manu.bhai@xx.com
DTSTART;TZID=UTC+0:20220322T080000Z
DTEND;TZID=UTC+0:20220322T110000Z
LOCATION:>Room.045
TRANSP:OPAQUE
SEQUENCE:2230669611
UID:E00060977P00001158
SUMMARY:Issue with SEQUENCE.
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML>
< html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body class="defaultFont"> Issue with SEQUENCE </body> </html>
PRIORITY:5
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Issue with SEQUENCE
END:VALARM
END:VEVENT
END:VCALENDAR 发布于 2022-02-11 00:52:59
序列用于指示重要的更新。你的两个版本看起来都一样。因此,从这个意义上说,第二个条目是“旧”条目,而不是更新。
就最大数字而言,RFC5545规范并没有解决这个问题,而是声明它从0开始并从那里开始递增。我认为这里的问题是实际上没有重大的更新,比如日期或时间的更改。
您的语法也有许多问题,根据规范它是无效的。(空白,线条,缺少DTSTAMP,无效DTSTART -混合表2和表3的日期-时间。https://www.rfc-editor.org/rfc/rfc5545#section-3.3.5etc)。
尝试在您可以找到的所有ics验证器中运行ics,因为它们倾向于在不同的时间收集不同的内容。下面是2:https://icalendar.org/validator.html http://ical-validator.herokuapp.com/validate/ (由于第一行中的空格,现在提前停止使用)
发布于 2022-02-22 16:26:57
最后,我能够找到解决这个问题的办法。序列是一个32位整数.最大值是2147483647。所以如果这个值大于这个。这是行不通的。
https://stackoverflow.com/questions/71071585
复制相似问题