Replace Existing Outlook Calendar Appointment

前端 未结 2 926
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-02-03 16:02

I\'m doing some work with an icalndar appointment generation; this would allow a delegate to view an event\'s website and click on a link provided to add an appointment to their

相关标签:
2条回答
  • 2021-02-03 16:50

    It is possible to update an appointment, but not the way you did it. Here's what's important:

    • METHOD should be REQUEST - a PUBLISH event will not update, it will be added again and again. REQUEST meeting requests behave differently, and will update the existing meeting even before the user approves it. I'd note that if the events are already of type Publish, they cannot be updated (at least to my knowledge).
    • You must use the exact same UID.
    • DTSTAMP should be bigger than the existing date stamp (this should be OK if you're creating it dynamically)
    • Include an ORGANIZER - Outlook may not allow people to accept the meeting without it (not really related, but important).

    I have a partial summery of this in my blog - Sending Meeting Requests to Outlook via ASP.NET Mail Message, though it's missing sending the approval to the organizer, and time zones (which are very important, so I've heard).

    See also: RFC 2446 - iTIP, search for section 1.3 ITIP Roles and Transactions

    0 讨论(0)
  • 2021-02-03 16:54

    It is possible to update PUBLISHed entries. You do not need to change your METHOD to REQUEST (and set RSVP=FALSE on every ATTENDEE).

    To have a new copy replace any existing one, all you need to do is bump the SEQUENCE value. The SEQUENCE property is primarily intended to differentiate between versions of an entry where something time related changed (e.g. DTSTART).

    However RFC 2445 does not preclude SEQUENCE being bumped for any arbitrary reason (e.g. fixing a typo). Doing so would invalidate any workflow responses for the entry since they would be for lower SEQUENCE values but in the PUBLISH case there is no workflow really; its all one way.

    If you are not making any time related changes to the entry then you can simply change the DTSTAMP value to a newer one. The recipient will see they already have the UID and SEQUENCE value but an older DTSTAMP, so they should simply update what they have already.

    Anyone who fails to update a PUBLISHed entry when its SEQUENCE or DTSTAMP have been updated does not understand the standard or failed to implement it properly.

    0 讨论(0)
提交回复
热议问题