【发布时间】:2021-09-22 15:31:14
【问题描述】:
我是一名新手程序员,试图将过时的数据库中的人员配置任务作为 .ICS 文件发送给同事。我已经让以下内容在 Outlook Windows 中顺畅运行:
- 使用 .ICS 附件添加单个事件
- 使用 .ICS 附件添加多个事件
- 使用 .ICS 附件取消单个事件
那么问题是什么?我的许多同事都使用 Mac,我无法让取消事件与 Outlook for Mac 或 Outlook 365 一起使用。在后者上,我得到了可怕的“无法导入日历。稍后再试。”
我将在下面粘贴一个示例,但我确信我的格式正确(并已使用验证器进行了检查); UID 是常数;序列递增; Last-Modified 正在更新。 “方法:请求”和“方法:取消”我都试过了,没有任何变化。
我也阅读了无数帖子,明白这是一个长期存在的问题。
现在我最好的猜测是这不是 ICS 本身的问题,而是电子邮件标头中的 MIME Content-Type 的问题。我已经确认这没有被设置为文本/日历,但我不知道有什么方法可以改变它。
希望这是足够的信息。如果有人对我如何完成这项工作有任何见解,将不胜感激。
BEGIN:VCALENDAR
VERSION:2.0
PRODID://Workplace//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:F499BCFD-16DB-2A40-B1E1-F8D64F6A9B36
SEQUENCE:5
DTSTAMP:20210630T165316Z
ORGANIZER;CN=Live Programs:
MAILTO:XXX@xxx.org
ATTENDEE;ROLE=REQ-PARTICIPANT;
PARTSTAT=TENTATIVE;CN=Matt P
:MAILTO:ZZZ@zzz.org
DTSTART:20220703T154500Z
DTEND:20220703T164500Z
LAST-MODIFIED:20210713T134505Z
LOCATION:Theater One
SUMMARY:12:00pm Show (Presenter)
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR
【问题讨论】:
-
你认为这个问题与没有设置
Content-Type: text/calendar; method=REQUEST; charset=UTF-8有关吗?如果是这种情况,您应该添加一些有关您用于构建电子邮件的语言/库的详细信息。我个人的经验是:尽可能地模拟谷歌日历的通知电子邮件,因为这是其他日历正在测试的。不过祝你好运; Outlook Web 客户端以一些非常难以理解的方式失败。