php - ICalendar 与 Spatie/ICalendar-Generator 创建新 session 而不是在 Outlook 中更新

标签 php laravel laravel-8 icalendar

查看以下内容后question on SO我添加了一些附加字段并删除了 ICS 文件中的一些当前字段。

我的邀请呈现如下:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:spatie/icalendar-generator
NAME:Test ICS 2
X-WR-CALNAME:Test ICS 2
DESCRIPTION:Test ICS 2
X-WR-CALDESC:Test ICS 2
X-WR-RELCALID:someConstValue.ba7be5f8-7404-4bf8-bfe6-80c17e9ade76
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:STANDARD
DTSTART:20211031T020000Z
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20220327T010000Z
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20221030T020000Z
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
DTSTART:20211028T100304Z
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:someConstValue.ba7be5f8-7404-4bf8-bfe6-80c17e9ade76
DTSTAMP:20220725T100304Z
SUMMARY:Test ICS 2
DESCRIPTION:Test ICS 2
LOCATION:TRUNCATED
CLASS:PRIVATE
STATUS:CONFIRMED
ORGANIZER;CN=TRUNCATED
ATTENDEE;CN=TRUNCATED
DTSTART;TZID=Europe/London:20220725T140000
DTEND;TZID=Europe/London:20220725T143000
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Test ICS 2 is going to start in 15 minutes.
TRIGGER:-PT15M
END:VALARM
END:VEVENT
END:VCALENDAR

我现在想要更新时间,因此我重新发送更新 ICS,如下所示:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:spatie/icalendar-generator
NAME:Test ICS 2
DESCRIPTION:Test ICS 2
X-WR-CALDESC:Test ICS 2
X-WR-RELCALID:someConstValue.ba7be5f8-7404-4bf8-bfe6-80c17e9ade76
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:STANDARD
DTSTART:20211031T020000Z
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20220327T010000Z
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20221030T020000Z
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
DTSTART:20211028T100354Z
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:someConstValue.ba7be5f8-7404-4bf8-bfe6-80c17e9ade76
DTSTAMP:20220725T100354Z
SUMMARY:Test ICS 2
DESCRIPTION:Test ICS 2
LOCATION:TRUNCATED
CLASS:PRIVATE
STATUS:CONFIRMED
ORGANIZER;CN=TRUNCATED
ATTENDEE;CN=TRUNCATED
DTSTART;TZID=Europe/London:20220725T140500
DTEND;TZID=Europe/London:20220725T143000
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Test ICS 2 is going to start in 15 minutes.
TRIGGER:-PT15M
END:VALARM
END:VEVENT
END:VCALENDAR

我在发送更新时添加了 X-MS-OLK-FORCEINSPECTOROPENX-WR-RELCALID 并删除了 X-WR-CALNAME之前的 SO 线程对此进行了解释,但这仍然会在 Outlook 中生成一个新事件,而不是更新当前事件。

任何人都可以指出我所缺少的正确方向吗?

最佳答案

从我在链接的原始 SO 问题中看到的情况来看,您当前缺少的 METHOD 字段需要一个值,以便能够在 Outlook 中更新邀请

In summary you have to specify METHOD:REQUEST and ORGANIZER:xxxxxxxx in addition to UID: and SEQUENCE:

关于php - ICalendar 与 Spatie/ICalendar-Generator 创建新 session 而不是在 Outlook 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73107530/

相关文章:

php - (Elasticsearch)将Unix格式的数据转换为时间戳(无需更改映射)

javascript - 如何防止授权用户将我的网站嵌入到移动应用程序中

php - 在 Laravel 8 中运行多个 PHPUnit 测试时出错

javascript - 使用php将动态css和javascript提交到mysql数据库

php - 无法在 Laravel 中对数据进行分页

php - MySQL FIND_IN_SET(数组 1,数组 2)

php - Codeigniter:将额外参数插入到 MySQL 语句中

laravel - 通过外键显示数据

php - Laravel 基于角色处理 trait 中的用户重定向

php - 返回值必须是 ?Illuminate\\Database\\Query\\Builder, App\\Models\\ModelName 返回的类型