我正在尝试生成.ics文件,我想将其作为附件发送给客户 . 出于某种原因,如果重新安排 Session ,则不会在Google日历中或在Mac OS上的日历应用中更新 Session .
这是一个带SEQUENCE的meeting.ics:1:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//example.com//Appointment v1.0//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:citfslfcd0001hx61sjcqqp4q
SEQUENCE:1
DTSTAMP:20160923T151743
DTSTART:20160923T211500
ATTENDEE:;CN="user1";RSVP=FALSE:mailto:user1@example.com
ATTENDEE:;CN="user2";RSVP=FALSE:mailto:user2@example.com
LOCATION:Sweden
DESCRIPTION:Meeting
SUMMARY:Meeting
CLASS:CONFIDENTIAL
CATEGORIES:BUSINESS
END:VEVENT
END:VCALENDAR
在这里更新了SEQUENCE:2和DTSTART的 Session ,一天后:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//example.com//Appointment v1.0//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:citfslfcd0001hx61sjcqqp4q
SEQUENCE:2
DTSTAMP:20160923T161267
DTSTART:20160924T211500
ATTENDEE:;CN="user1";RSVP=FALSE:mailto:user1@example.com
ATTENDEE:;CN="user2";RSVP=FALSE:mailto:user2@example.com
LOCATION:Sweden
DESCRIPTION:Meeting
SUMMARY:Meeting
CLASS:CONFIDENTIAL
CATEGORIES:BUSINESS
END:VEVENT
END:VCALENDAR
-
当我在谷歌日历中打开第一个文件(来自电子邮件附件)或Mac Session 上的日历应用程序时,会按预期添加到日历中 .
-
当我在谷歌日历中打开第二个文件时,会创建具有新 Session 日期的重复 Session .
-
当我在日历应用程序中打开第二个文件时......没有任何反应 - 第一次 Session 只是在日期单元格中“跳出”,但没有任何反应......
那些ics文件可能有什么问题?
尽管gmail识别它(.ics附件)并且显示消息“此 Session 已被取消”,我也无法取消 Session .
以下是我尝试更新活动时发生的情况的屏幕截图:
当我尝试取消 Session 时,gmail显示了什么(显示“ Session 已被波兰语取消”)(但事件未在谷歌日历中删除/更新):
2 回答
你的ATTENDEE属性看起来不对劲 . 由于属性具有参数,因此属性名称后面的冒号字符不应该存在 .
例如:
应该这样:
事实上,您的ATTENDEE属性需要更多参数来确保Google日历将其视为更新:
我在这里提供了更完整的解释:https://stackoverflow.com/a/49585109/5669260