asp.net-mvc – 谷歌日历无法读取ICalendar.
操作系统:WinXP
您用于访问Google日历的程序和版本(FF3.5): 我正在开发一个脚本(基于我在网上找到的现有vCal ASP.NET类)来生成.ics文件.导入到Outlook 2003时,此文件可以正常工作.当我尝试导入到Google日历时,出现以下错误: 无法导入事件:无法处理您的iCal / CSV文件.. 我不太了解vCal格式或语法,但一切看起来都不错.我将在下面发布示例测试日历.ics: BEGIN:VCALENDAR PRODID:-//jpalm.se//iCalendar example with ASP.NET MVC//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100304T000000Z DTEND:20100304T000000Z TRANSP:OPAQUE SEQUENCE:0 UID:7c9d6dd7-41f2-4171-8ae4-35820974efa4 DESCRIPTION:uba:Project20100321:sagar . SUMMARY:First Milestone END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100330T230000Z DTEND:20100330T230000Z TRANSP:OPAQUE SEQUENCE:0 UID:8a982519-b99b-429a-8dad-c0f95c50d0e6 DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:upcoming milestones END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100329T230000Z DTEND:20100329T230000Z TRANSP:OPAQUE SEQUENCE:0 UID:588750a1-6f10-4b5d-8a51-3f3818024726 DESCRIPTION:uba:Project20100321:sagar . SUMMARY:test END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100407T230000Z DTEND:20100407T230000Z TRANSP:OPAQUE SEQUENCE:0 UID:36eaa726-a0a0-40a1-ba7c-09857f8ed006 DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:Rad apps devs END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100408T125632Z DTEND:20100408T125632Z TRANSP:OPAQUE SEQUENCE:0 UID:8521ad53-916a-43cc-8eeb-42c1b3d670d3 DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:this is a test ms END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100415T125643Z DTEND:20100415T125643Z TRANSP:OPAQUE SEQUENCE:0 UID:e4b295d8-2271-4393-9899-3e9c858f4e8c DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:Test msssss END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100430T055201Z DTEND:20100430T055201Z TRANSP:OPAQUE SEQUENCE:0 UID:1e464698-1064-4cb2-8166-2a843b63ca5a DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:this is a new milestones for testing on 30th april END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100731T093917Z DTEND:20100731T093917Z TRANSP:OPAQUE SEQUENCE:0 UID:5262ef58-73bc-4d66-a207-4e884e249629 DESCRIPTION:uba:Project20100321:imanage2010 pm SUMMARY:555555555555555555 END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100328T230000Z DTEND:20100328T230000Z TRANSP:OPAQUE SEQUENCE:0 UID:f654262d-714e-41d9-9690-005bb467f8aa DESCRIPTION:uba:Untitled project:imanage2010 pm SUMMARY:first milestone END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100401T095537Z DTEND:20100401T095537Z TRANSP:OPAQUE SEQUENCE:0 UID:3f4a6c16-f460-457d-a281-b4c010958796 DESCRIPTION:uba:ProjectIcal:imanage2010 pm SUMMARY:new ms ical END:VEVENT X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VEVENT DTSTART:20100331T230000Z DTEND:20100331T230000Z TRANSP:OPAQUE SEQUENCE:0 UID:e5bf28d1-3559-48e9-90f8-2b5233489a13 DESCRIPTION:uba:ProjectIcal:imanage2010 pm SUMMARY:new ms 2 ical END:VEVENT END:VCALENDAR 生成上面代码的源代码就是mvc视图:: <%@ Import Namespace ="iManageProjectPM.Controllers" %> <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<iCalendar>"%> BEGIN:VCALENDAR VERSION:2.0<%if (Model.Events.Count > 1) {%> CALSCALE:GREGORIAN METHOD:PUBLISH<%}%> X-MS-OLK-FORCEINSPECTOROPEN:TRUE <%foreach(var evnt in Model.Events){%> BEGIN:VEVENT DTSTART<%=Model.GetTimeString(evnt.StartTime)%> DTEND<%=Model.GetTimeString(evnt.EndTime)%> TRANSP:OPAQUE SEQUENCE:0 UID:<%=evnt.UID%> DESCRIPTION:<%=evnt.Desc%> SUMMARY:<%=evnt.Title%> END:VEVENT<%}%> END:VCALENDAR 解决方法
ical feed的问题在于,不同的日历对于不同的东西都很挑剔,而且至少在我看来,这个规范有点难以理解.但是,Kanzaki在为像我这样的程序员制定规范方面做得很好.
现在,你的feed feed还需要精确到换行符(Apple的不会导入最后错误的换行符)并且我发现这3个验证器的组合效果最好: >最基本的:http://severinghaus.org/projects/icv/?url= 最严格的验证器实际上对我有误报(即,它根据规范报告了实际上没有错误的错误),但是前两个没有发现错误,这就是为什么我建议通过所有三个运行您的Feed他们 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET用户控件列表/集合/数组属性
- asp.net – 如何在将GridView导出为PDF后更改iTextSharp中的
- 在ASP.NET MVC2创建方法中使用FormCollection的正确方法?
- 如何使用ASP.NET MVC4 Razor项目中的web.config文件中的值更
- asp.net – 无法使用PreSendRequestHeaders()覆盖IIS中的ht
- asp.net-mvc-4 – ASP.NET优化 – 捆绑
- asp.net-mvc – 存储网站图像的最佳方式
- 启动ASP.NET窗体身份验证
- asp.net – 在回发后阻止Bootstrap折叠切换
- asp.net-web-api – owin cors或web api cors
- asp.net-mvc – MVC Html.CheckBox和表单提交问题
- .net – 如何过滤FileUpload控件?
- Asp.Net Core 生成二维码(NuGet使用QRCoder)
- asp.net – 如何在一个web项目正在调试的同时运行
- asp.net – 使用Web.config和会话变量控制网站文
- asp.net – 注册外部登录时CreateUserAsync失败
- 模拟ASP.NET声明身份到Windows身份
- asp.net-mvc-3 – 在ASP.NET之外使用Razor
- asp.net – 单个站点上的多个应用程序 – 会话和
- asp.net-mvc – Cookie过期或会话超时太早