首页 文章

如何更新ICS日历 Session ?

提问于
浏览
9

我正在尝试生成.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 .

以下是我尝试更新活动时发生的情况的屏幕截图:

enter image description here

当我尝试取消 Session 时,gmail显示了什么(显示“ Session 已被波兰语取消”)(但事件未在谷歌日历中删除/更新):

enter image description here

2 回答

  • 2

    你的ATTENDEE属性看起来不对劲 . 由于属性具有参数,因此属性名称后面的冒号字符不应该存在 .

    例如:

    ATTENDEE:;CN="user1";RSVP=FALSE:mailto:user1@example.com
    

    应该这样:

    ATTENDEE;CN="user1";RSVP=FALSE:mailto:user1@example.com
    
  • 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

相关问题