替换现有的Outlook日历约会 [英] Replace Existing Outlook Calendar Appointment

查看:104
本文介绍了替换现有的Outlook日历约会的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在与icalndar约会代做一些工作;这样,代表可以查看活动的网站,然后单击提供的链接以将约会添加到他们的日历中.

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 calendar.

我有一个工作程序集,它将根据一组已知信息(开始日期,结束日期,标题等)生成ics格式的输出(物理文件或流).

I have a working assembly that will generate an ics formatted output (as either a physical file or a Stream) based on a known set of information (start date, end date, title etc.).

我为日历约会生成的输出示例如下:

An example of the output I generate for a calendar appointment is the following:

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20110210T124703Z
DESCRIPTION:Anything Else\n\nHopefully some useful information would be written here\n
DTEND:20110212T100000Z
DTSTAMP:20110210T124600Z
DTSTART:20110212T090000Z
LAST-MODIFIED:20110210T124703Z
LOCATION:Dummy Location
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:Dummy Meeting
TRANSP:OPAQUE
UID:040000008200E00074C5B7101A82E00800000000B0D1061C57C8CB01000000000000000
    010000000281117EDC1194242B64F0247C54DB401
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\n<HTML>\n<HEAD>\n<META HTTP-EQUIV="Content-Type" CONTENT="text/html\;    charset=Windows-1252">\n<META NAME="Generator" CONTENT="MS Exchange Server
 version 6.5.7654.12">\n<TITLE>Dummy Meeting</TITLE>\n</HEAD>\n<BODY>\n<!-
- Converted from text/plain format -->\n\n<P><FONT SIZE=2>&lt\;h1&gt\;Anyt
hing Else&lt\;/h1&gt\;&lt\;p&gt\;Hopefully some useful information would b
e written here&lt\;/p&gt\;<BR>\n</FONT>\n</P>\n\n</BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
END:VEVENT
END:VCALENDAR

我被问到的是;是否可以更改约会,但下次有人请求提醒时,它将检测到约会已存在于他们的日历中,并进行更新而不是创建新条目?

What I have been asked is; is it possible to change the appointment, but the next time someone requests the reminder it will detect the appointment as already existing in their calendar and update it instead of creating a new entry?

所以我试图确定是否有可能覆盖现有的日历约会.

So I am trying to find if it is possible to overwrite an existing calendar appointment.

我注意到有一个UID值,我试图保持该值不变,但是似乎没有提供日历约会之间的链接.

I noticed that there was a UID value, I have tried keeping this value the same, but it doesnt appear to provide a link between the calendar appointments.

日历约会上的保存并关闭"操作是否有可能生成新的UID,从而不再有链接?

Is it possible that the Save and Close action on the calendar appointment generates a new UID so there is no longer a link?

我还能尝试什么?

推荐答案

可以更新约会,但不能更新约会的方式.这是重要的:

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

  • METHOD应该为REQUEST-PUBLISH事件将不会更新,它将被一次又一次地添加. REQUEST会议请求的行为有所不同,甚至会在用户批准之前更新现有会议.我会注意到,如果事件已经是发布"类型的,则无法更新(至少据我所知).
  • 您必须使用完全相同的UID.
  • DTSTAMP应该大于现有的日期戳(如果是动态创建,应该可以)
  • 包括一个ORGANIZER-Outlook可能不允许人们在没有会议的情况下接受会议(虽然不相关,但很重要).
  • 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).

我的博客对此有一个 partial 总结-

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).

另请参阅: RFC 2446-iTIP ,搜索 1.3 ITIP部分角色和交易

这篇关于替换现有的Outlook日历约会的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆