提问人:Lukas Salich 提问时间:10/23/2023 最后编辑:Lukas Salich 更新时间:10/24/2023 访问量:30
如何使用 .ics 文件在 Windows 日历上重新安排事件?
How to reschedule event on Windows calendar using .ics file?
问:
我以为这非常容易,但事实并非如此。 我正在尝试准备要附加到电子邮件的 .ics 文件,以便将事件添加到日历中,我希望通过这种方法支持所有主要日历。我正在使用 icalendar 验证器进行理智检查。
但第一个问题=>RFC中的icalendar规范是超级愚蠢的。我可以详细说明,但我想细节无关紧要。
第二个问题是,按照规范,我只制作了 Google 日历来重新安排使用(避免)、省略属性并根据值对更新进行排序。使用这种方法,即使是 Google 日历也不是 100% 遵循规范,因为即使实际事件与已经收到的最大事件相同,事件也会被重新安排。但已经足够好了。由于简单,我非常喜欢这种方法,但它不适用于 iPhone 和 Windows 日历。METHOD:PUBLISH
METHOD:REQUEST
SEQUENCE
DTSTAMP
DTSTAMP
最后一个问题,我设法让它在 iPhone 日历上运行,它可以与增加的属性一起用于重新安排。总比没有好。但是我仍然无法在Windows日历中重新安排事件,如何实现?它总是创建一个新事件。METHOD:PUBLISH
SEQUENCE
到目前为止,我正在发送这样的东西作为原始事件:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Travelport//NONSGML GOL Mobile//EN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Flight
from A
to B
UID:3d87d036-ad91-4576-b362-6a35296573a9
STATUS:CONFIRMED
TRANSP:OPAQUE
DTSTART:20240713T153001
DTEND:20240713T153002
DTSTAMP:20231023T120500
LOCATION:airport A, city A
GEO:0;0
DESCRIPTION:Flight
from A
terminal 1,
city A
to B
terminal 1,
city B
END:VEVENT
END:VCALENDAR
像这样作为重新安排事件:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Travelport//NONSGML GOL Mobile//EN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Flight
from A
to B
UID:3d87d036-ad91-4576-b362-6a35296573a9
SEQUENCE:1
STATUS:CONFIRMED
TRANSP:OPAQUE
DTSTART:20240713T154001
DTEND:20240713T154002
DTSTAMP:20231023T120501
LOCATION:airport A, city A
GEO:0;0
DESCRIPTION:Flight
from A
terminal 1,
city A
to B
terminal 1,
city B
END:VEVENT
END:VCALENDAR
我尝试了 / s、设置/省略、、添加的组合,但我看不出还有什么应该更新以使其重新安排而不是创建 2 个事件,这对我来说有点疯狂,因为对象具有相同的 UID。帮助!PUBLISH
REQUEST
METHOD
SEQUENCE
STATUS:TENTATIVE
ORGANIZER
答: 暂无答案
评论