我正在尝试生成.ics文件,我想将其作为附件发送给客户。出于某种原因,如果重新安排会议,则不会在Google日历中或在Mac OS上的日历应用中更新会议。
以下是与SEQUENCE会面的会议: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的会议,一天后:
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
当我在Google日历中打开第一个文件(来自电子邮件附件)或Mac会议中的日历应用时,会按预期添加到日历中。
当我在Google日历中打开第二个文件时,会创建具有新会议日期的重复会议。
当我在日历应用程序中打开第二个文件时...没有任何反应 - 第一次会议只是在日期单元格中“跳出”,但没有任何反应......
这些ics文件可能出现什么问题?
尽管gmail识别它(.ics附件),我也无法取消会议,并显示消息“此会议已被取消”。
以下是我尝试更新活动时会发生什么情况的屏幕截图:
这里有gmail在我尝试取消会议时显示的内容(显示“会议已被波兰语取消”)(但事件未在谷歌日历中删除/更新):
答案 0 :(得分:2)
您的ATTENDEE属性看起来不对。由于属性具有参数,因此属性名称后面的冒号字符不应该存在。
例如:
ATTENDEE:;CN="user1";RSVP=FALSE:mailto:user1@example.com
应该是这样的:
ATTENDEE;CN="user1";RSVP=FALSE:mailto:user1@example.com
答案 1 :(得分:0)
事实上,您的ATTENDEE属性需要更多参数来确保Google日历将其视为更新:
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-
ACTION;RSVP=TRUE;CN=Recipient Name;X-NUM-UESTS=0:mailto:recipient@gmail.com
我在这里提供了更完整的解释:https://stackoverflow.com/a/49585109/5669260