我开发了一个处理会议数据的Web应用程序。现在,我另外开发了一个VSTO Outlook插件,以便可以将Web应用程序上的会议数据链接添加到Outlook中的给定AppointmentItem。为此,我通过发送UID(GlobalAppointmentID)对Web应用程序使用API调用。但是当调用Web应用程序的API的“添加方法”时,我无法找到如何发送当前序列号的方法。
因此,我们最终得到2个处理约会的应用程序,其中之一是Outlook。
如果Web应用程序希望将会议更新发送到Outlook,它将使用ICS文件。问题是我无法从Web应用程序向Outlook发送约会的更新,因为我不知道在ICS文件中使用哪个序列号。
我在AppointmehtItem中找不到任何可让我在Outlook中找到当前序列号的属性。另外,我发现使用DTSTAMP代替SEQUENCE不能解决问题,因为仅允许使用DTSTAMP进行的更新不会更改约会的日期/时间。
所以我的问题是: 如何找到AppointmentItem的正确序列号,以便外部应用程序可以使用它来使用ICS文件发送更新
我的问题是Outlook发送邀请时可能会发送此序列号。就我而言,我的Web应用程序没有被邀请,因此它没有从Outlook发送的邀请邮件中接收序列号。
我认为我试图以完全错误的方式解决问题。任何帮助都非常感谢!
答案 0 :(得分:0)
您需要在具有右RECURRENCE-ID
头的同一ICS文件中发送例外的主约会。尝试通过Outlook UI将定期约会另存为ICS文件,然后在记事本中打开它。
答案 1 :(得分:0)
经过一些研究,我认为Outlook插件的整个概念是错误的。
据我了解,使用ICS文件是为了使邮件客户端可以就事件进行通信。
因此,对我的问题的一种可能的解决方案可能是Web应用程序充当邮件客户端从Outlook接收邀请的角色。只要约会的每个更改都包含在其自己的mailadress(info@mywebapplication.com)中,并且约会都将从Outlook发布到Web应用程序,并且Web应用程序需要解析传入的请求,对其进行解析并尝试找出哪个会议需要更新。
这可以解决吗?是否有人在处理Outlook,Google日历等的入站会议请求/更新/取消方面有经验? Outlook / Google是否为此使用ICS?可能是的,因为邮件客户端无法知道接收方使用哪个邮件客户端,可以吗?