Asp.net mvc Outlook编程的官方文档在哪里;互联网日历订阅“;?
是否有任何官方来源可用于编程Outlook“”,链接中描述为 Internet日历订阅是您下载并在Outlook中查看的日历。但是,与日历快照不同,Internet日历订阅会自动更新 我正在使用ASP.NETMVC和。我创建这样的日历失败了。我需要具体问题的答案。我已经猜腻了。我不会接受随机代码、过期codeproject文章的链接或任何其他非权威性的内容 我所掌握的唯一具体信息是URL必须Asp.net mvc Outlook编程的官方文档在哪里;互联网日历订阅“;?,asp.net-mvc,outlook,icalendar,Asp.net Mvc,Outlook,Icalendar,是否有任何官方来源可用于编程Outlook“”,链接中描述为 Internet日历订阅是您下载并在Outlook中查看的日历。但是,与日历快照不同,Internet日历订阅会自动更新 我正在使用ASP.NETMVC和。我创建这样的日历失败了。我需要具体问题的答案。我已经猜腻了。我不会接受随机代码、过期codeproject文章的链接或任何其他非权威性的内容 我所掌握的唯一具体信息是URL必须 以webcal:// 以.ics文件名结尾 我必须为每个用户生成一个唯一且最新的日历,最好是每次Ou
- 以
webcal://
- 以
文件名结尾.ics
- 我是否可以使用返回
(或派生:流、内容、路径)的控制器/操作在Outlook点击该地址时动态生成日历FileResult
- 我可以通过修饰动作来“伪造”URL的ICS文件/文件名部分吗,比如
[ActionName(“iCalFeed.ICS”)]
- 我是否可以使用
为操作创建ActionLink
链接,如webcal
webcal
链接,但它不显示任何内容,也不显示任何错误消息。是否有地方可以挖掘Outlook web日历导入错误
如果以上问题回答为“否”,是否有其他方法可以在Outlook每次轮询地址时提供新内容?我不希望更新日历与站点上的CRUD操作同步。这似乎比必要的要复杂得多
无论哪种方式,我还需要知道iCalendar规范Outlook需要哪些部分才能正确更新“订阅”。我导入了一个ICS文件作为常规的“快照”,其中只包含开始/结束日期、摘要和位置。但是,显然,规范中有一些棘手的部分,比如
- 是否必须设置
(4.7.2方法)?我甚至找不到对这个属性或它接受的值的恰当描述(它是特定于客户端的吗?)方法
- 我是否必须跟踪事件UID并根据系统的CRUD操作更改其配置?或者,在后续轮询时从日历中添加/删除/更新事件是否足以让Outlook弄清楚?如果我必须跟踪,现在我必须向我的应用程序添加一整层持久性和状态感知
- 如果我保持跟踪,我在其他SO问题中注意到Outlook对
属性非常挑剔。。。它是否必须是电子邮件地址?一个组织者
链接还是一个地址mailto:
为了清楚起见,我可以为任何用户生成一个基本ICS文件,并在Outlook中手动启动它。我根本无法让我的任何网络链接正常工作
这些其他日历RFC发挥作用了吗?我还没有找到任何合适的文档,但我发现了Outlook的一些行为。关于“互联网日历订阅”的webcal/ics要求
- Outlook可以使用
地址http://
- Outlook可以使用不以
.ics
ActionLink
/webcal链接,以便浏览器提示您启动可以处理请求的应用程序
至于其余的控制器/动作要求
- Outlook发出匿名请求*
- Outlook可以接受二进制/流/字符串
类型的控制器操作FileResult
*您可能需要为该路由显式地允许匿名。在我的系统中,我必须使用带有
的
标记来绕过表单身份验证。如果你确实需要安全性,看看谷歌是怎么做的。他们创建一个URL,其中包含每个用户/日历的GUID令牌,并要求您保护它
是否必须设置方法(RFC2445 4.7.2方法)?我甚至找不到对这个属性或它接受的值的恰当描述(它是特定于客户端的吗?)
有关方法,请参见和规范
WebDAV(CalDAV)的日历扩展
本文档定义了Web分布式创作和应用程序的扩展
用于指定标准访问方式的版本控制(WebDAV)协议,
基于管理和共享日历和日程安排信息
iCalendar格式。此文档定义“日历访问”
CalDAV的特点
方法(RFC2445 4.7.2方法) RFC 2445已被RFC 5545淘汰,因此您可能会对其感兴趣,以便您可以尝试适应两者的交叉点
我已经穷途末路了。如果文档回答了关于实际构建一个生成适当日历订阅的网站的问题,我愿意阅读文档 所有这些标准都是由您可能会发现有用的标准维护的
很抱歉,我没有更多的用处,因为我对Outlook的个人实践经验很少,但是有很多人参与CalConnect,他们知道所有的互操作细节。我可以添加一个谷歌日历,而不需要webcal://协议!我们就到此为止