Ics 文件是“发送更新”而不是创建“发送”

问题描述 投票:0回答:2

我正在尝试从

.ics
文件发送此会议预约。 这是数据

"BEGIN:VCALENDAR\n" +
"CALSCALE:GREGORIAN\n" +
"METHOD:PUBLISH\n" +
"PRODID:-//Send project Invite//EN\n" +
"VERSION:2.0\n" +
"BEGIN:VEVENT\n" +
"UID:gestionprojetsCalendarInvite\n" +
"DTSTART;VALUE=DATE-TIME:" +
convertDate(startDate) +
"\n" +
"DTEND;VALUE=DATE-TIME:" +
convertDate(endDate) +
"\n" +
"SUMMARY:" +
subject +
"\n" +
"DESCRIPTION:" +
description +
"\n" +
"LOCATION:" +
location +
"\n" +
to.filter(o => o != '').map(o => "ATTENDEE;MAILTO:" + o.email).join("\n") +
"\n" +
"BEGIN:VALARM" +
"\n" +
"TRIGGER:-PT15M" +
"\n" +
"ACTION:DISPLAY" +
"\n" +
"DESCRIPTION:Reminder" +
"\n" +
"END:VALARM\n" +
"END:VEVENT\n" +
"END:VCALENDAR";

我想知道为什么,当我打开

.ics
文件时,它显示的是
"send update
”而不是
"send"

我得到了什么:

我想要什么:

javascript outlook icalendar
2个回答
1
投票

我相信这是因为您生成的所有

.ics
都有静态 UID。
"UID:gestionprojetsCalendarInvite\n"

UID 又名唯一 ID,应该唯一地代表日历事件。当您打开包含重复 UID 的 ics 文件时,您的应用程序(我猜是 Outlook?)认为您想要更新现有事件,而不是创建新事件。

尝试给它一个不同的 UID,看看是否可以解决您的问题。

参考:https://icalendar.org/New-Properties-for-iCalendar-RFC-7986/5-3-uid-property.html


0
投票

希望它能帮助其他人,我遇到了同样的问题,并发现了一篇非常旧的博客文章,其中讨论了一个标志,无论在 Outlook 中,该标志始终将 ical 会议事件打开为新的。

X-微软-ISDRAFT:正确

© www.soinside.com 2019 - 2024. All rights reserved.